Aracılığıyla paylaş


Unicode sıkıştırma uygulaması

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

SQL Server, satır veya sayfa sıkıştırılmış nesnelerde depolanan Unicode değerlerini sıkıştırmak için Unicode için Standart Sıkıştırma Düzeni (SCSU) algoritmasının bir uygulamasını kullanır. Bu sıkıştırılmış nesneler için, nchar(n) ve nvarchar(n) sütunları için Unicode sıkıştırması otomatiktir. Veritabanı Altyapısı, yerel ayardan bağımsız olarak Unicode verilerini 2 bayt olarak depolar. Bu, UCS-2 kodlaması olarak bilinir. Bazı yerel ayarlar için, SQL Server'da SCSU sıkıştırmasının uygulanması depolama alanında yüzde 50'ye kadar tasarruf edebilir.

Desteklenen veri türleri

Unicode sıkıştırma sabit uzunlukta nchar(n) ve nvarchar(n) veri türlerini destekler. Satır dışında veya nvarchar(max) sütunlarında depolanan veri değerleri sıkıştırılamaz.

Uyarı

Satırda depolanmış olsa bile nvarchar(max) verilerinde Unicode sıkıştırma desteklenmez. Ancak bu veri türü yine de sayfa sıkıştırmasından yararlanabilir.

SQL Server'ın önceki sürümlerinden yükseltme

SQL Server veritabanı SQL Server'a yükseltildiğinde, Unicode sıkıştırmayla ilgili değişiklikler sıkıştırılmış veya sıkıştırılmamış herhangi bir veritabanı nesnesinde yapılmaz. Veritabanı yükseltildikten sonra nesneler aşağıdaki gibi etkilenir:

  • Nesne sıkıştırılmıyorsa hiçbir değişiklik yapılmaz ve nesne daha önce olduğu gibi çalışmaya devam eder.

  • Satır veya sayfa sıkıştırılmış nesneler daha önce olduğu gibi çalışmaya devam eder. Sıkıştırılmamış veriler, değeri güncelleştirilene kadar sıkıştırılmamış biçimde kalır.

  • Satır veya sayfa sıkıştırılmış tabloya eklenen yeni satırlar Unicode sıkıştırma kullanılarak sıkıştırılır.

    Uyarı

    Unicode sıkıştırmanın avantajlarından tam olarak yararlanmak için sayfa veya satır sıkıştırma ile nesneyi yeniden derleyin.

Unicode sıkıştırma veri depolamayı nasıl etkiler?

Bir dizin oluşturulduğunda veya yeniden oluşturulduğunda ya da satır veya sayfa sıkıştırma ile sıkıştırılmış bir tabloda bir değer değiştirildiğinde, etkilenen dizin veya değer yalnızca sıkıştırılmış boyutu geçerli boyutundan küçükse sıkıştırılmış olarak depolanır. Bu, Unicode sıkıştırması nedeniyle tablo veya dizindeki satırların boyutunun artmasına engel olur.

Sıkıştırmanın kaydettiği depolama alanı, sıkıştırılmakta olan verilerin özelliklerine ve verilerin yerel ayarına bağlıdır. Aşağıdaki tabloda, çeşitli bölgesel ayarlar için elde edilebilecek alan tasarrufları listelenmiştir.

Locale Sıkıştırma yüzdesi
İngilizce %50
Almanca %50
Hintçe %50
Türkçe 48%
Vietnamca 39%
Japonca %15

Sonraki Adımlar