Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 173|Resposta: 0

[Gorjetas] Compressão de linhas de tabelas e compressão de páginas no banco de dados SQL Server

[Copiar link]
Publicado em 09/01/2026 11:20:06 | | | |
Requisitos: No banco de dados SQL Server, existe uma tabela (por exemplo, tabela de log, tabela de log de requisições) que ocupa um espaço em disco muito grande, talvez centenas de GB, como reduzir o uso de espaço em tabelas? A compressão de dados (economizando espaço) pode ser ativada para texto altamente repetitivo (por exemplo, HTML, JSON, logs).

Compressão ROW

A compressão altera o armazenamento físico dos dados, mas não a estrutura lógica dos dados. O processo de compressão de linha:

Identifique o tipo de dado de cada coluna e converta-o para um comprimento variável
Por fim, a quantidade de solicitações de espaço de armazenamento é reduzida à demanda real
Após a compressão, a quantidade de dados armazenados em cada página é aumentada
Após a compressão, reduza a quantidade de metadados
Por exemplo, se o tipo de dado de uma coluna for smallint, o sistema aloca 2 bytes por padrão
Mas, na realidade, apenas 1 byte de espaço é usado e, se a compressão for ativada na mesa, ela pode ser alocada sob demanda

Compressão PAGE

A compressão de páginas realiza operações adicionais para aprimorar a compressão de linhas
Operações principais: compressão de linha, compressão de prefixo, compressão de dicionário

Consumo de CPU: compressão PAGE > compressão de linha

Teste

Crie uma nova tabela Users1 e Users2, ambas inserem 100.000 pedaços de dados, e o script sql é o seguinte:
Para visualizar a ocupação de espaço na tabela, todas com 3,27 MB, o comando é o seguinte:
Como mostrado abaixo:



Para visualizar o status de compressão da tabela Users2, o comando é o seguinte:
Como mostrado abaixo:



sp_estimate_data_compression_savingsEstime as economias que podem ocorrer ao ativar tabelas ou partições para linhas, páginas, armazenamentos de colunas, arquivos de armazenamento de colunas ou compressão XML. O comando é o seguinte:
A saída é a seguinte:
object_name schema_name index_id partition_number size_with_current_compression_setting(KB) size_with_requested_compression_setting(KB)        sample_size_with_current_compression_setting(KB) sample_size_with_requested_compression_setting(KB)
Usuários2 dbo 1 1 3368 1296 3448 1328

size_with_current_compression_setting (KB) 3368 KB O índice ocupa ≈ 3,29 MB com as configurações atuais de compressão
size_with_requested_compression_setting (KB) 1296 KB Footprint estimado ≈ 1,27 MB se você ativar o novo método de compressão solicitado, como PAGE ou ROW
Para executar compressão de página, o comando é o seguinte:
Comparação dos efeitos:A tabela Users2 tem 3,27 MB antes da compressão e 1,23 MB após a compressão, como mostrado na figura abaixo:



A visualização é a seguinte:



Referência:

O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível.




Anterior:Problema de exclusividade de campo de exclusão suave de banco de dados (tombod)
Próximo:O Windows Defender Credential Guard não permite o uso de credenciais salvas
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com