Synapse SQL'de tablo veri türleri
Bu makalede Synapse SQL Ayrılmış Havuzu'nda tablo veri türlerini tanımlamaya yönelik öneriler bulacaksınız.
Veri türleri
Synapse SQL Ayrılmış Havuzu en yaygın kullanılan veri türlerini destekler. Desteklenen veri türlerinin listesi için CREATE TABLE deyimindeki veri türlerine bakın. Synapse SQL Sunucusuz için lütfen Azure Synapse Analytics'te sunucusuz SQL havuzu ile depolama dosyalarını sorgulama ve Azure Synapse Analytics'te sunucusuz SQL havuzu kullanarak OPENROWSET'i kullanma makalesine 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 çalışan 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 karakterse sütununuzu VARCHAR(25) olarak tanımlayın.
- Yalnızca VARCHAR'a ihtiyacınız olduğunda NVARCHAR kullanmaktan kaçının.
- Mümkün olduğunda NVARCHAR(MAX) veya VARCHAR(MAX) yerine NVARCHAR(4000) veya VARCHAR(8000) kullanın.
- 0 (sıfır) ölçekli kayan ve ondalık değerleri kullanmaktan kaçının. Bunlar TINYINT, SMALLINT, INT veya BIGINT olmalıdır.
Dekont
Synapse SQL 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ı POLYBase ile değil BCP ile yükleyebilirsiniz.
Desteklenmeyen veri türlerini belirleme
Veritabanınızı başka bir SQL veritabanından geçiriyorsanız Synapse SQL'de desteklenmeyen veri türleriyle karşılaşabilirsiniz. Var olan SQL şemanızda desteklenmeyen veri türlerini bulmak için bu 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')
OR y.[is_user_defined] = 1;
Desteklenmeyen veri türleri için geçici çözümler
Aşağıdaki listede Synapse SQL'in desteklemediği veri türleri gösterilir ve desteklenmeyen veri türleri yerine kullanabileceğiniz alternatifler sağlanır.
Desteklenmeyen veri türü | Geçici çözüm |
---|---|
Geometri | Varbinary |
Coğrafya | Varbinary |
Hierarchyid | nvarchar(4000) |
görüntü | Varbinary |
text | Varchar |
Ntext | Nvarchar |
Sql_variant | Sütunu kesin olarak yazılan birkaç sütuna bölün. |
Tablo | Geçici tablolara dönüştürün veya CETAS kullanarak verileri depolamaya depolamayı göz önünde bulundurun. |
Zaman damgası | datetime2 ve CURRENT_TIMESTAMP işlevini kullanmak için yeniden çalışma kodu. Yalnızca sabitler varsayılan olarak desteklenir, bu nedenle current_timestamp varsayılan kısıtlama olarak tanımlanamaz. Satır sürümü değerlerini zaman damgasıyla yazılan 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ış.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin