Share via


Unicode-compressie-implementatie

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

SQL Server maakt gebruik van een implementatie van het standaardcompressieschema voor Unicode-algoritme (SCSU) om Unicode-waarden te comprimeren die zijn opgeslagen in gecomprimeerde rij- of paginaobjecten. Voor deze gecomprimeerde objecten is Unicode-compressie automatisch voor kolommen nchar(n) en nvarchar(n). De database-engine slaat Unicode-gegevens op als 2 bytes, ongeacht de landinstelling. Dit staat bekend als UCS-2-codering. Voor sommige landinstellingen kan de implementatie van SCSU-compressie in SQL Server tot 50 procent besparen in opslagruimte.

Ondersteunde gegevenstypen

Unicode-compressie ondersteunt de vaste lengte gegevenstypen nchar(n) en nvarchar(n). Gegevenswaarden die zijn opgeslagen uit rij- of nvarchar(max) -kolommen, worden niet gecomprimeerd.

Opmerking

Unicode-compressie wordt niet ondersteund voor nvarchar(max) -gegevens, zelfs niet als deze in rij zijn opgeslagen. Dit gegevenstype kan echter nog steeds profiteren van paginacompressie.

Upgrade uitvoeren van eerdere versies van SQL Server

Wanneer een SQL Server-database wordt bijgewerkt naar SQL Server, worden unicode-compressiegerelateerde wijzigingen niet aangebracht in een databaseobject, gecomprimeerd of niet gecomprimeerd. Nadat de database is bijgewerkt, worden objecten als volgt beïnvloed:

  • Als het object niet is gecomprimeerd, worden er geen wijzigingen aangebracht en blijft het object functioneren zoals eerder is gedaan.

  • Rij- of pagina-gecomprimeerde objecten blijven werken zoals voorheen. Niet-gecomprimeerde gegevens blijven in niet-gecomprimeerde vorm totdat de waarde wordt bijgewerkt.

  • Nieuwe rijen die zijn ingevoegd in een rij- of pagina-gecomprimeerde tabel, worden gecomprimeerd met Unicode-compressie.

    Opmerking

    Als u optimaal wilt profiteren van de voordelen van Unicode-compressie, bouwt u het object opnieuw met pagina- of rijcompressie.

Hoe Unicode-compressie van invloed is op gegevensopslag

Wanneer een index wordt gemaakt of opnieuw wordt opgebouwd of wanneer een waarde wordt gewijzigd in een tabel die is gecomprimeerd met rij- of paginacompressie, wordt de betreffende index of waarde alleen gecomprimeerd als de gecomprimeerde grootte kleiner is dan de huidige grootte. Hiermee voorkomt u dat rijen in een tabel of index groter worden vanwege Unicode-compressie.

De opslagruimte die door compressie wordt bespaard, is afhankelijk van de kenmerken van de gegevens die worden gecomprimeerd en de landinstelling van de gegevens. De volgende tabel bevat de ruimtebesparingen die kunnen worden bereikt voor verschillende lokalisaties.

Lokatie Compressiepercentage
Engels 50%
Duits 50%
Hindi 50%
Turkse taal 48%
Vietnamees 39%
De Japanse taal 15%

Volgende stappen