Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Included in this article are recommendations for defining table data types in dedicated SQL pool.
Поддерживаемые типы данных
Dedicated SQL pool (formerly SQL DW) supports the most commonly used data types. Список поддерживаемых типов данных см. в типах данных в инструкции CREATE TABLE.
Уменьшение длины строки
Уменьшение размера типов данных сокращает длину строки, что улучшает производительность запросов. Используйте наименьший тип данных, подходящий для ваших данных.
- Avoid defining character columns with a large default length. Например, если самое длинное значение состоит из 25 знаков, столбец необходимо определить как VARCHAR(25).
- Avoid using NVARCHAR when you only need VARCHAR.
- По возможности используйте NVARCHAR(4000) или VARCHAR(8000) вместо NVARCHAR(MAX) или VARCHAR(MAX).
If you're using PolyBase external tables to load your tables, the defined length of the table row can't exceed 1 MB. Если строка с данными переменной длины превышает 1 МБ, можно загрузить строку с помощью BCP, а не PolyBase.
Определение неподдерживаемых типов данных
If you're migrating your database from another SQL database, you might find data types that aren't supported in dedicated SQL pool. Use the following query to discover unsupported data types in your existing SQL schema:
SELECT t.[name], c.[name], c.[system_type_id], c.[user_type_id], y.[is_user_defined], y.[name]
FROM sys.tables t
JOIN sys.columns c on t.[object_id] = c.[object_id]
JOIN sys.types y on c.[user_type_id] = y.[user_type_id]
WHERE y.[name] IN ('geography','geometry','hierarchyid','image','text','ntext','sql_variant','xml')
AND y.[is_user_defined] = 1;
Обходные решения для неподдерживаемых типов данных
The following list shows the data types that dedicated SQL pool (formerly SQL DW) doesn't support and gives useful alternatives for unsupported data types.
Неподдерживаемые типы данных | Обходной путь |
---|---|
geometry | varbinary |
geography | varbinary |
hierarchyid | nvarchar(4000) |
Изображение | varbinary |
текст | varchar |
ntext | nvarchar |
sql_variant | Разделите столбец на несколько строго типизированных столбцов. |
таблицы | Convert to temporary tables. |
timestamp | Для использования datetime2 и функции CURRENT_TIMESTAMP внесите изменения в код. Only constants are supported as defaults, so current_timestamp can't be defined as a default constraint. If you need to migrate row version values from a timestamp typed column, use BINARY(8) or VARBINARY(8) for NOT NULL or NULL row version values. |
xml | varchar |
Определяемый пользователем тип | По возможности выполните преобразование в исходный тип данных. |
Значения по умолчанию | Значения по умолчанию поддерживают только литералы и константы. |
Дальнейшие действия
For more information on developing tables, see Table Overview.