Share via


Azure Synapse Analytics'te ayrılmış SQL havuzu (eski adı SQL DW) için tablo veri türleri

Bu makalede, ayrılmış SQL havuzunda tablo veri türlerini tanımlamaya yönelik öneriler yer almaktadır.

Desteklenen veri türleri

Ayrılmış SQL havuzu (eski adıYLA SQL DW), en sık kullanılan veri türlerini destekler. Desteklenen veri türlerinin listesi için CREATE TABLE deyimindeki veri türlerine bakın.

Satır uzunluğunu simge durumuna küçültme

Veri türlerinin boyutunu en aza indirmek satır uzunluğunu kısaltır ve bu da sorgu performansının daha iyi olmasını sağlar. Verileriniz için en küçük veri türünü kullanın.

  • Varsayılan uzunluğu büyük olan karakter sütunlarını tanımlamaktan kaçının. Örneğin, en uzun değer 25 karakter ise sütununuzu VARCHAR(25) olarak tanımlayın.
  • Yalnızca VARCHAR'a ihtiyacınız olduğunda NVARCHAR kullanmaktan kaçının.
  • Mümkünse NVARCHAR(MAX) veya VARCHAR(MAX) yerine NVARCHAR(4000) veya VARCHAR(8000) kullanın.

Tablolarınızı yüklemek için PolyBase dış tabloları kullanıyorsanız, tablo satırının tanımlı uzunluğu 1 MB'ı aşamaz. Değişken uzunlukta veri içeren bir satır 1 MB'ı aştığında satırı BCP ile yükleyebilirsiniz, ancak PolyBase ile yükleyebilirsiniz.

Desteklenmeyen veri türlerini tanımlama

Veritabanınızı başka bir SQL veritabanından geçiriyorsanız, ayrılmış SQL havuzunda desteklenmeyen veri türlerini bulabilirsiniz. Mevcut SQL şemanızdaki desteklenmeyen veri türlerini bulmak için aşağıdaki sorguyu kullanın:

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;

Desteklenmeyen veri türleri için geçici çözümler

Aşağıdaki listede ayrılmış SQL havuzunun (eski adı SQL DW) desteklemediği veri türleri gösterilir ve desteklenmeyen veri türleri için kullanışlı alternatifler sağlanır.

Desteklenmeyen veri türü Geçici çözüm
Geometri Varbinary
Coğrafya Varbinary
Hierarchyid nvarchar(4000)
Görüntü Varbinary
metin varchar
Ntext nvarchar
Sql_variant Sütunu kesin olarak yazılan birkaç sütuna bölün.
table Geçici tablolara dönüştürün.
Zaman damgası Datetime2 ve CURRENT_TIMESTAMP işlevini kullanmak için yeniden çalışma kodu. Varsayılan olarak yalnızca sabitler desteklenir, bu nedenle current_timestamp varsayılan kısıtlama olarak tanımlanamaz. Satır sürümü değerlerini zaman damgası türündeki bir sütundan geçirmeniz gerekiyorsa, NOT NULL veya NULL satır sürümü değerleri için BINARY(8) veya VARBINARY(8) kullanın.
Xml varchar
kullanıcı tanımlı tür Mümkün olduğunda yerel veri türüne geri dönüştürün.
varsayılan değerler Varsayılan değerler yalnızca değişmez değerleri ve sabitleri destekler.

Sonraki adımlar

Tablo geliştirme hakkında daha fazla bilgi için bkz. Tabloya Genel Bakış.