Home > Artigos > O que é e Qual a Diferença entre VACUUM e VACUUM FULL?

19-09-2023

O que é e Qual a Diferença entre VACUUM e VACUUM FULL?

O que é, Qual a Diferença, VACUUM, VACUUM FULL


Quando executamos operações que permitem eliminar dados de uma tabela num qualquer sistema de gestão de base de dados (DBMS), como o PostgreSQL, MySQL, Microsoft SQL Server, etc., os registos não são imediatamente removidos do disco. Em vez disso, são marcados como "mortos" ou "obsoletos" e deixados no local. Isto sucede por razões de desempenho (para o processo não ser tão demorado) e razões de integridade dos dados.


E é aqui que entram os comandos “vacuum” ou “vacuum full” que têm como objetivo limpar estes registos obsoletos.

 

VACUUM “nome_da_tabela”:

 

  • O “VACUUM” é um comando utilizado para recuperar espaço físico de uma tabela, eliminando todos os registos marcados como obsoletos, sem mover a tabela para um novo espaço no disco;
  • O “VACUUM” é menos evasivo e mais rápido do que o “VACUUM FULL”, pois este, apenas marca o espaço do registo eliminado como livre para ser reutilizado, mas não compacta a tabela, o que quer dizer que ao fazer um novo “INSERT” o DBMS tenta aproveitar este espaço antes de alocar um novo espaço no disco. Isso ajuda a melhorar o desempenho e a eficiência, pois reutiliza espaço existente em vez de alocar constantemente novas páginas de dados (novo espaço em disco);
  • É adequado na maioria das operações de manutenção de tabelas.

 

VACUUM FULL “nome_da_tabela":

 

  • O “VACUUM FULL” é uma operação mais evasiva em termos de recursos e tempo, pois para além do espaço recuperado, como no comando anterior, também reorganiza fisicamente a tabela no disco, movendo todos os registos válidos para um novo espaço, eliminando assim todo o espaço não utilizado;
  • Pelas suas características evasivas, é mais demorado e consome mais recursos do que o “VACUUM”. Geralmente, é executado com menos frequência e em situações em que se precisa de uma otimização mais profunda na tabela;
  • É útil quando uma tabela já sofreu muitas alterações (inserções, atualizações e eliminações) para se otimizar o espaço e o desempenho futuro da tabela de forma mais profunda.

 

Para ver mais artigos relacionados, clique: aqui!

 

 

👉 Follow @niuGIS

RELACIONADAS


05-05-2023
ECMAScript

Contacte-nos 214 213 262

Informações