Por favor explique la diferencia entre la fila y la compresión de página

10

Estoy tratando de determinar qué aplicar y cuándo es el momento adecuado para aplicar la compresión. Estoy publicando esta pregunta para obtener información de esta comunidad. He leído varios artículos, pero quería tener un lugar donde este abordado en los administradores de bases de datos.

Gerald Patriowski
fuente

Respuestas:

6

Esta es una buena referencia y explicación para la compresión de la fila v página (sin juego de palabras): http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/how-sql-server-data-compression/

En resumen, la compresión de página abarca los algoritmos contenidos con la compresión a nivel de fila y luego también cubre la compresión de Prefijos y la compresión de Diccionario. La compresión de prefijos y diccionarios encuentra patrones en los datos y los reemplaza con valores más pequeños. Durante la descompresión, hará lo contrario y restaurará los datos a sus valores originales.

El nivel de fila facilita las decisiones de compresión, como reducir los metadatos y eliminar el espacio no utilizado, como la letra 'Y' almacenada en un CHAR (1000).

El artículo al que se hace referencia explica esto con mucho más detalle.

Juan
fuente
6

Para tomar una decisión sobre un montón de tablas, puede ejecutar el procedimiento " sp_estimate_data_compression_savings ":

exec sys.sp_estimate_data_compression_savings  @Schema,@Table,NULL,NULL,ROW;
exec sys.sp_estimate_data_compression_savings  @Schema,@Table,NULL,NULL,PAGE;

Eso lo ayudará a determinar los ahorros para cada tabla en particular.

Desde mi experiencia, la compresión PAGE funciona mejor en la mayoría de los casos.

Slava Murygin
fuente