Sobes.tech
Junior — Middle

Explique o conceito de limpeza completa a vácuo numa base de dados e as suas características.

sobes.tech IA

Resposta da IA

A limpeza completa a vácuo (full vacuum) numa base de dados é um processo em que todos os dados não utilizados são removidos e o espaço ocupado por linhas eliminadas ou atualizadas é libertado. Em sistemas com MVCC (controle de concorrência multiversão), como o PostgreSQL, versões antigas das linhas permanecem na tabela até que a limpeza de vácuo seja realizada.

Características da limpeza completa a vácuo:

  • Liberta completamente o espaço no disco, reduzindo o tamanho das tabelas e índices.
  • Pode bloquear a tabela durante a sua execução, o que afeta a disponibilidade.
  • Ao contrário do vacuum incremental, o full vacuum realiza uma reindexação e compressão da tabela.
  • É utilizado para recuperar espaço após grandes eliminações ou atualizações.

Exemplo no PostgreSQL:

VACUUM FULL minha_tabela;

Esta consulta irá limpar completamente a tabela minha_tabela, libertando espaço e reduzindo o tamanho do ficheiro no disco.