2017-05-29 2 views
0

Nous avons une table avec plus de 100 000 nouveaux ajoutés chaque jour (SQL Server 2008).Compression nvarchar (500)

La table a 10 champs mais l'un d'entre eux est le plus lourd
- sa description salvatrice du produit 500chars. et son ensemble maintenant comme nvarchar (500). les données enregistrées dans ce champ ne sont pas seulement en anglais, peuvent être en russe, hébreu, arabe, chinois, etc.

Nous ne pouvons pas nous débarrasser de ce champ, est-il un moyen de compresser le contenu et en utilisant une taille plus petite que nvarchar (500)

+0

Vous devez autoriser 500 caractères pour ce champ, mais combien de ces caractères sont généralement utilisés? –

Répondre

0

Vous pouvez compresser la totalité de la table (index clusterisé) ou l'index lui-même. Voici comment:

ALTER TABLE Production.TransactionHistory REBUILD PARTITION = ALL 
WITH (DATA_COMPRESSION = PAGE); 

ALTER TABLE Production.TransactionHistory REBUILD PARTITION = ALL 
WITH (DATA_COMPRESSION = ROW); 

Vous pouvez utiliser ce https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-estimate-data-compression-savings-transact-sql pour estimer l'espace enregistré avec ligne ou la compression de page.