Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações

Em caso de dúvidas, consulte também a documentação da fabricante sobre esta feature.

Aviso
titleAtenção

Este procedimento pode levar uma quantidade considerável de tempo. Faça a análise de seu cenário antes de iniciá-lo e determine um horário para esta manutenção.

Índice
outlinetrue


O que é a compactação de dados?

A compactação de base de dados é um recurso que pode ser utilizado com o Protheus para melhorar a performance e otimizar o consumo de espaço em disco do banco de dados. Esta feature está disponível a partir do  SQL Server 2008 R2 Enterprise, e a partir das versões 2014 e 2016, Standard e Express. Com isto, você pode reduzir o tamanho do banco de dados em até 70%, ganhando agilidade na leitura, escrita e no tempo de restore.

Compactação por linha ou por página?

Para o Protheus, o tipo de compactação mais eficiente é o de página, pois desta maneira os registros redundantes serão armazenados em um local da página e referenciados nas outras ocorrências.

A compactação de linha não é muito eficiente, já que o Protheus preenche automaticamente alguns campos com espaços vazios.

Posso fazer a compactação dos índices e tabelas?

Sim. 

Nota
titleAtenção

Faça a análise de seu cenário para determinar quais índices e tabelas precisam ser compactados.

Quais são os benefícios da compactação de dados?

Você pode ter ganhos em espaço e no tempo de leitura no banco de dados. 

Quais os impactos da compactação de dados?

Além do espaço em disco e velocidade, você pode ter um aumento no consumo de CPU. Leve isto em consideração. 

Cuidados a serem tomados

Faça a análise do seu cenário antes de executar a compressão. É possível que seja necessário mais de uma janela de manutenção para a aplicação da compressão.

O consumo de CPU pode aumentar no banco de dados. 

Expandir
titleScripts para a compactação
Totvs custom tabs box
tabsCompactação de índices,Compactação de tabelas,Verificando a compactação
ids01,02,03
Totvs custom tabs box items
defaultyes
referencia01
SELECT
'ALTER INDEX ' + QUOTENAME(name)
+ ' ON '
+ QUOTENAME(OBJECT_SCHEMA_NAME(object_id))
+ '.'
+ QUOTENAME(OBJECT_NAME(object_id))
+ ' REBUILD PARTITION = ALL WITH (FILLFACTOR = 90, DATA_COMPRESSION = PAGE)'
FROM sys.indexes
WHERE OBJECTPROPERTY(object_id, 'IsMSShipped') = 0
AND OBJECTPROPERTY(object_id, 'IsTable') = 1
ORDER BY CASE type_desc
WHEN 'CLUSTERED' THEN 1
ELSE 2
END
Totvs custom tabs box items
defaultno
referencia02
SELECT
'ALTER TABLE ' + name
+ ' REBUILD WITH (DATA_COMPRESSION = PAGE);'
FROM sysobjects
WHERE xtype = 'U'
Totvs custom tabs box items
defaultno
referencia03
SELECT
    st.name,
sp.data_compression,
sp.data_compression_desc
FROM sys.partitions sp
INNER JOIN sys.tables st
ON st.object_id = sp.object_id
WHERE data_compression = 0