Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment activer la compression sur une table existante dans SQL Server (T-SQL)

Vous pouvez utiliser le ALTER TABLE pour activer la compression sur une table existante dans SQL Server.

Pour ce faire, vous devez utiliser le REBUILD WITH option, tout en spécifiant le type de compression souhaité.

Exemple

Voici un exemple pour illustrer.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);

Dans ce cas, j'ai reconstruit la table en utilisant la compression de lignes.

Ce qui suit le reconstruit avec la compression de page.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);

Appliquer la compression à une seule partition

Si votre table est partitionnée, vous pouvez spécifier cette partition à reconstruire avec compression.

ALTER TABLE Cats
REBUILD PARTITION = 1 WITH (DATA_COMPRESSION = ROW);

Comment supprimer la compression

Vous pouvez supprimer la compression en utilisant NONE comme type de compression.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);

Tableaux du magasin de colonnes

Si vous utilisez des tables columnstore (tables stockées avec un index cluster columnstore), les types de compression ci-dessus ne s'appliquent pas. Dans ce cas, vos options de compression sont COLUMNSTORE et COLUMNSTORE_ARCHIVE .

Limites/restrictions

Les tables système ne peuvent pas être activées pour la compression.

Si la table est un tas (une table sans index clusterisé), l'opération de reconstruction pour ONLINE le mode sera monothread. Pour une opération de reconstruction de tas multithread, utilisez OFFLINE mode.

De plus, lors de l'utilisation de tables partitionnées, les restrictions suivantes s'appliquent :

  • Vous ne pouvez pas modifier le paramètre de compression d'une seule partition si la table comporte des index non alignés.
  • La ALTER TABLE <table> REBUILD PARTITION ... la syntaxe reconstruit la partition spécifiée.
  • Le ALTER TABLE <table> REBUILD WITH ... la syntaxe reconstruit toutes les partitions.