« Red Hat: Curso oficial e exame de certificação RHCE no Brasil | Main | Metisse (3D Desktop): Um novo conceito de interface gráfica »
terça-feira, 11 de janeiro de 2005
Vacuum - otimizando sua base de dados PostgreSQL
Vagner R. Fernandes (vagner.rodrigues@gmail.com) enviou este link e acrescentou: "Vacuum libera espaço em disco utilizado pelos registros deletados de uma ba... (Ler na íntegra)Publicado por brain às 14:35
Comentários dos leitores
(Termos de Uso)
» Comentário de hamacker ( $ipip="200.171.13.85"; $partes = explode(".", $ipip); echo "$partes[0].$partes[1].$partes[2].xxx"; ?>) em 12/01 09:42
O artigo afirma que "Durante uma operação normal do PostgreSQL, os registros que são deletados ou atualizados não são fisicamente removidos das tabelas, permanecendo presentes até a execução de um comando chamado vacuum."
Posso estar enganado, mas os RDBMS sao baseados em paginas de dados e indices em arvore binaria, o que tornaria a exclusao fisica dum registro muito demorada por causa do realinhamento dos indices e desfragmentacao dos dados, assim esses RDBMS preferem excluir tais registros em forma de marcacao para reutilizar esses espaços mais tarde. Ou seja, eles nao ficam para sempre, uma hora ou outra serao reaproveitados pelo banco.
O que as vezes ocorre com alguns bancos é que a taxa de exclusão ser alta demais e ter pouco aproveitamento pelos novos inserts.
O vacuum existe porque quem gosta de ver a estatistica do banco sabe que há um momento que a fragmentacao pode afetar a performance do banco, porém não é um comando para ser usado de forma rotineira, mas baseado nas estatisticas que o banco oferece.
O formulário de comentários está desativado devido à mudança de sistema de gerenciamento de conteúdo.