FC ConcursosFC Concursos

Questão FC373014

Todo processo de atualização aguda, que envolva tipos de dados de tamanho variável, tais como CHAR ou VARCHAR, com muita inclusão e exclusão de registros, acaba produzindo muita fr

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2020

Todo processo de atualização aguda, que envolva tipos de dados de tamanho variável, tais como CHAR ou VARCHAR, com muita inclusão e exclusão de registros, acaba produzindo muita fragmentação do espaço em disco. Para contornar o problema, o SGBD PostgreSQL, em sua versão 8.2, recomenda executar com frequência, sobre as tabelas muito atualizadas, o seguinte comando:

  1. ANALYSE [Banco] [VERBOSE] [modo];
  2. ANALYSE [modo] [VERBOSE] [VACUUM] [tabela];
  3. REWRITE [tabela] [VERBOSE] [modo];
  4. REWRITE [banco] AFTER REINDEX [VERBOSE];
  5. VACUUM [modo] [VERBOSE] [ANALYSE] [tabela];
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

O comando VACUUM é usado para recuperar espaço desperdiçado e impedir degradação de desempenho em tabelas com muitas atualizações/exclusões, especialmente quando há tipos de tamanho variável (por ex. CHAR/VARCHAR), que causam bloat.

Internamente o PostgreSQL usa MVCC; atualizações e deleções deixam dead tuples que ocupam disco até serem removidos. VACUUM varre a tabela, marca esses tuples como reutilizáveis e evita o risco de wraparound do identificador de transação.

A sintaxe indicada é: VACUUM [modo] [VERBOSE] [ANALYSE] [tabela];

Opções importantes: FULL compacta totalmente (mais lento e bloqueante), VERBOSE mostra relatório detalhado e ANALYSE atualiza as estatísticas usadas pelo otimizador. Especifique tabela para operar localmente. Em produção, usar regularmente ou confiar no autovacuum.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo