Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Cet article répertorie les types de données non pris en charge pour les fonctionnalités OLTP en mémoire des éléments suivants :
- Tables optimisées en mémoire
- Modules de Transact-SQL compilés en mode natif (T-SQL)
Types de données non pris en charge
Les types de données suivants ne sont pas pris en charge :
- datetimeoffset
- geography
- geometry
- hierarchyid
- json
- rowversion
- sql_variant
- vector
- xml
- Types définis par l'utilisateur
Types de données pris en charge notables
Les fonctionnalités In-Memory OLTP prennent en charge la plupart des types de données. La liste suivante vaut la peine de noter explicitement :
| Types de chaînes et binaires | Pour plus d’informations |
|---|---|
| binary et varbinary | binaire et binaire variable |
| char et varchar | char et varchar |
| nchar et nvarchar | nchar et nvarchar |
Pour les types de données chaîne et binaire précédents, à partir de SQL Server 2016 (13.x) :
Une table individuelle optimisée pour la mémoire peut également avoir plusieurs colonnes longues telles que nvarchar(4000), en dépit du fait que leurs longueurs ajoutent à plus que la taille physique de ligne de 8 060 octets.
Une table mémoire optimisée peut avoir une chaîne de longueur maximale et des colonnes binaires de types de données telles que varchar(max).
Identifier des objets LOB et d’autres colonnes qui sont hors ligne
Dans SQL Server 2016 (13.x) et versions ultérieures, les tables optimisées en mémoire prennent en charge les colonnes hors ligne, ce qui permet à une seule ligne de table d’être supérieure à 8 060 octets. L’instruction Transact-SQL SELECT suivante signale toutes les colonnes hors ligne pour les tables optimisées en mémoire :
- Toutes les colonnes de clés d’index sont stockées dans la ligne.
- Les clés d’index non uniques peuvent inclure des colonnes nullables sur des tables optimisées en mémoire.
- Les index peuvent être déclarés comme
UNIQUEsur une table optimisée en mémoire.
- Toutes les colonnes LOB sont stockées hors ligne.
- Un
max_lengthde-1indique une colonne d'objet volumineux (LOB).
SELECT OBJECT_NAME(m.object_id) AS [table],
c.name AS [column],
c.max_length
FROM sys.memory_optimized_tables_internal_attributes AS m
INNER JOIN sys.columns AS c
ON m.object_id = c.object_id
AND m.minor_id = c.column_id
WHERE m.type = 5;
Autres types de données
| Autres types | Pour plus d’informations |
|---|---|
| types de tables | Optimisation de mémoire pour accélérer les tables temporaires et les variables de table |