Explique a diferença entre a compactação de linha e de página

10

Estou tentando determinar qual aplicar e quando é o momento apropriado para aplicar a compactação. Estou postando esta pergunta para obter informações desta comunidade. Eu li vários artigos, mas queria ter um local em que isso fosse abordado nos administradores de banco de dados.

Gerald Patriowski
fonte

Respostas:

6

Esta é uma boa referência e explicação para a compactação da linha v página (sem trocadilhos): http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/how-sql-server-data-compression/

Em resumo, a compactação de página abrange os algoritmos contidos na compactação no nível da linha e também abrange a compactação de prefixo e compactação de dicionário. A compactação de prefixo e dicionário localiza padrões nos dados e os substitui por valores menores. Durante a descompressão, ele fará o inverso e restaurará os dados para seus valores originais.

O nível da linha toma decisões de compactação mais fáceis, como reduzir metadados e remover o espaço não utilizado, como a letra 'Y' armazenada em um CHAR (1000).

O artigo mencionado explica isso com muito mais detalhes.

John
fonte
6

Para tomar uma decisão para várias tabelas, você pode executar o procedimento " 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;

Isso o ajudará a determinar as economias para cada tabela específica.

Pela minha experiência, a compactação PAGE funciona melhor na maioria dos casos.

Slava Murygin
fonte