sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo habilitar la compresión en una tabla existente en SQL Server (T-SQL)

Puedes usar la ALTER TABLE instrucción para habilitar la compresión en una tabla existente en SQL Server.

Para hacer esto, necesitas usar el REBUILD WITH opción, mientras especifica el tipo de compresión deseado.

Ejemplo

Aquí hay un ejemplo para demostrarlo.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = ROW);

En este caso, reconstruí la tabla usando compresión de filas.

Lo siguiente lo reconstruye con compresión de página.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = PAGE);

Aplicar compresión a una sola partición

Si su tabla está particionada, puede especificar esa partición para reconstruirla con compresión.

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

Cómo eliminar la compresión

Puede eliminar la compresión usando NONE como el tipo de compresión.

ALTER TABLE Cats
REBUILD WITH (DATA_COMPRESSION = NONE);

Mesas de almacén de columnas

Si usa tablas de almacén de columnas (tablas almacenadas con un índice de almacén de columnas agrupado), los tipos de compresión anteriores no se aplican. En este caso, sus opciones de compresión son COLUMNSTORE y COLUMNSTORE_ARCHIVE .

Limitaciones/Restricciones

Las tablas del sistema no se pueden habilitar para la compresión.

Si la tabla es un montón (una tabla sin un índice agrupado), la operación de reconstrucción para ONLINE el modo será de un solo subproceso. Para una operación de reconstrucción de montón de subprocesos múltiples, use OFFLINE modo.

Además, al usar tablas particionadas, se aplican las siguientes restricciones:

  • No puede cambiar la configuración de compresión de una sola partición si la tabla tiene índices no alineados.
  • El ALTER TABLE <table> REBUILD PARTITION ... sintaxis reconstruye la partición especificada.
  • La ALTER TABLE <table> REBUILD WITH ... la sintaxis reconstruye todas las particiones.