É fortemente recomendável para melhor desempenho e aproveitamento do espaço de armazenamento secundário do seu banco de dados que se faça a execução periódica do comando VACUUM.
Este comando reaproveita espaços em branco deixados pelas atualizações e exclusões de registros (fragmentação interna) e pode ser utilizado para atualização das estatísticas para planejamento e otimização de consultas.
As alterações de registros produzem novas versões dos dados no banco em virtude do protocolo de controle de concorrência multiversão, as quais não são fisicamente excluídas após a execução das transações, causando aumento de espaço utilizado. A exclusão de registros também não elimina imediatamente os dados, proporcionando melhor desempenho para deleções. Em ambos os casos o espaço não utilizado é liberado com a execução deste comando.
Adicionalmente, o comando pode atualizar as estatísticas do banco de dados, permitindo planos de execução de consultas melhor otimizados e melhorando o desempenho do sistema como um todo.
Em ambientes com grande quantidade de dados submetidos a muitas alterações, exclusões e inclusões de dados, o comando Vacuum pode trazer resultados significativos.
Sintaxe:
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]
Exemplos:
- VACUUM
Sintaxe mais simples. Libera o espaço bloqueado para uso, mas não restringe as leituras e escritas ao banco durante o processo (não bloqueia tabelas durante a reorganização). Não compacta os dados eliminando a fragmentação interna. Apenas libera os espaços para utilização.
- VACUUM FULL
Libera o espaço bloqueado para uso, movendo registros e ocupando os espaços disponíveis dentro dos blocos. Restringe as leituras e escritas ao banco, pois bloqueia objetos durante a sua execução. Como resultado final, compacta os dados eliminando a fragmentação interna.
- VACUUM (FULL) VERBOSE
Efetua o VACUUM, tanto o normal quanto o FULL, apresentando um relatório detalhado das operações realizadas. A opção FULL não diminui índices, o que é feito pelo comando REINDEX.
- VACUUM (FULL) ANALYSE
Efetua o VACUUM, tanto o normal quanto o FULL, atualizando as estatísticas utilizadas na otimização das consultas.
- VACUUM (FULL) TABELA
Efetua o VACUUM, tanto o normal quanto o FULL, na tabela fornecida. Opção recomendada quando se demanda maior controle sobre o processo de reorganização do banco de dados.
Nenhum comentário:
Postar um comentário