Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
В этой статье перечислены типы данных, которые не поддерживаются для компонентов выполняющейся в памяти OLTP:
- Таблицы, оптимизированные для памяти
- Модули Transact-SQL (T-SQL) в собственном коде
Неподдерживаемые типы данных
Следующие типы данных не поддерживаются:
- datetimeoffset
- geography
- geometry
- hierarchyid
- json
- rowversion
- sql_variant
- vector
- xml
- Определяемые пользователем типы
Значимые поддерживаемые типы данных
Возможности In-Memory OLTP поддерживают большинство типов данных. Следующий список стоит отметить явным образом:
| Строковые и двоичные типы | Дополнительные сведения |
|---|---|
| binary и varbinary | binary и varbinary |
| char и varchar | char и varchar |
| nchar и nvarchar | nchar и nvarchar |
Для предыдущих строковых и двоичных типов данных начиная с SQL Server 2016 (13.x):
Отдельная таблица, оптимизированная для памяти, также может иметь несколько длинных столбцов, таких как nvarchar(4000),даже если их длина будет добавляться к большему размеру физической строки размером 8 060 байт.
Оптимизированная для памяти таблица может содержать строку максимальной длины и двоичные столбцы типов данных, таких как varchar(max).
Определение LOB-столбцов и других столбцов вне строки
В SQL Server 2016 (13.x) и более поздних версиях оптимизированные для памяти таблицы поддерживают столбцы вне строк, что позволяет одной строке таблицы превышать 8 060 байт. Следующая инструкция Transact-SQL SELECT сообщает обо всех столбцах вне строки для таблиц, оптимизированных для памяти:
- Все ключевые столбцы индекса сохранены в строке.
- Ключи неуникальных индексов могут включать столбцы, допускающие значение NULL, в таблицах, оптимизированных для памяти.
- Индексы можно объявить как
UNIQUEв оптимизированной для памяти таблице.
- Все столбцы LOB хранятся вне строки.
- Значение
max_lengthиз-1указывает на столбец большого объекта (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;
Другие типы данных
| Другие типы | Дополнительные сведения |
|---|---|
| Типы таблиц | Быстрая временная таблица и переменная таблицы с помощью оптимизации памяти |