Pular para o conteúdo principal

Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — FGV 2026

Banco de DadosOtimização (Tuning) em Banco de Dados
Código
fg157251
Banca
FGV
Órgão
ALERO
Ano
2026
Cargo
Ana Leg ( )
Um DBA nota que o Otimizador de Consultas está escolhendo planos de execução ruins, resultando em consultas lentas. O SGBD é configurado para coletar estatísticas automaticamente, mas o volume de dados alterados é muito grande.   A melhor prática de manutenção para corrigir o mau desempenho do Otimizador de Consultas é
  1. Adesativar a coleta automática de estatísticas, pois ela consome muitos recursos.
  2. Bexecutar periodicamente o comando de atualização de estatísticas manualmente, especialmente após grandes alterações de dados.
  3. Cmudar o nível de isolamento da transação.
  4. Dremover todos os índices, pois o Otimizador só escolhe planos de varredura de tabela.
  5. Ereorganizar a tabela de dados sem atualizar as estatísticas, pois a reorganização é o fator principal.
Revelar gabarito e comentário

GabaritoB — executar periodicamente o comando de atualização de estatísticas manualmente, especialmente após grandes alterações de dados.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Otimização de Consultas e Estatísticas do Otimizador

Gabarito: letra B. Quando o otimizador de consultas escolhe planos ruins porque as estatísticas estão desatualizadas — especialmente após grandes volumes de alterações de dados —, a melhor prática é executar manualmente o comando de atualização de estatísticas. A coleta automática pode não acompanhar a velocidade das mudanças, e o otimizador depende de estatísticas precisas para estimar custos e escolher o melhor plano de execução.

O otimizador de consultas é o módulo do SGBD responsável por escolher, entre várias estratégias possíveis, a mais eficiente para executar uma consulta. Ele se baseia em estatísticas sobre as tabelas — como número de linhas, distribuição de valores, seletividade de índices — para estimar o custo de cada plano. Se essas estatísticas estiverem desatualizadas, o otimizador pode tomar decisões erradas, como escolher uma varredura completa da tabela quando um índice seria muito mais rápido.

A coleta automática de estatísticas é uma funcionalidade útil, mas tem limitações. Em cenários de grande volume de alterações (muitas inserções, atualizações ou exclusões), o processo automático pode não rodar com frequência suficiente ou pode amostrar apenas uma parte dos dados, deixando as estatísticas imprecisas. Por isso, a prática recomendada é executar manualmente o comando de atualização de estatísticas após grandes mudanças, garantindo que o otimizador tenha informações frescas e precisas.

É importante entender que o otimizador não busca o plano perfeito, mas sim um plano razoavelmente eficiente. Ele avalia sistematicamente estratégias alternativas e escolhe a de menor custo estimado. Sem estatísticas confiáveis, essa estimativa fica comprometida, e o otimizador pode escolher um plano ruim. A atualização manual de estatísticas é uma das principais ferramentas de tuning para corrigir esse tipo de problema.

A pegadinha desta questão está em confundir a atualização de estatísticas com outras práticas de manutenção, como reorganizar a tabela ou mudar o nível de isolamento. Reorganizar a tabela melhora a fragmentação física, mas não atualiza as estatísticas. Mudar o nível de isolamento afeta a concorrência, não a escolha do plano de execução. E desativar a coleta automática pioraria o problema, pois as estatísticas ficariam ainda mais defasadas.

Guarde a distinção central: o otimizador depende de estatísticas precisas para estimar custos. Quando as estatísticas estão desatualizadas, a solução é atualizá-las — manualmente, se necessário —, não desativar a coleta, remover índices ou reorganizar a tabela. É exatamente nesse ponto que as alternativas se dividem.

  1. 1Otimizador estima custo
  2. 2Baseia-se em estatísticas
  3. 3Estatísticas desatualizadas
  4. 4Plano de execução ruim
  5. 5Atualizar estatísticas manualmente
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Desativar a coleta automática de estatísticas é contraproducente. A coleta automática existe justamente para manter as estatísticas razoavelmente atualizadas. Desativá-la deixaria o otimizador ainda mais cego, agravando o problema de planos ruins. O custo de recursos da coleta automática é aceitável em comparação com o benefício de estatísticas mais precisas.

Alternativa B — ✅ Correta ⟵ GABARITO

Executar manualmente o comando de atualização de estatísticas, especialmente após grandes alterações de dados, é a prática correta. Isso garante que o otimizador tenha informações precisas sobre a distribuição dos dados, permitindo estimativas de custo mais confiáveis e, consequentemente, planos de execução melhores. É uma técnica clássica de tuning.

Alternativa C — ❌ Incorreta

Mudar o nível de isolamento da transação afeta o controle de concorrência e a consistência dos dados, mas não tem relação com a qualidade das estatísticas nem com a escolha do plano de execução pelo otimizador. É uma medida para resolver problemas de concorrência, não de desempenho de consultas por estatísticas desatualizadas.

Alternativa D — ❌ Incorreta

Remover todos os índices é uma medida drástica e equivocada. Os índices são estruturas que aceleram as buscas, evitando varreduras completas. Removê-los forçaria o otimizador a usar apenas varreduras de tabela, piorando ainda mais o desempenho. O problema não são os índices, mas as estatísticas desatualizadas que impedem o otimizador de usá-los corretamente.

Alternativa E — ❌ Incorreta

Reorganizar a tabela sem atualizar as estatísticas não resolve o problema. A reorganização melhora a fragmentação física dos dados, mas não fornece ao otimizador informações sobre a distribuição dos valores. Sem estatísticas atualizadas, o otimizador continua escolhendo planos ruins. A atualização de estatísticas é o fator principal, não a reorganização.

Gabarito: letra B

Link permanente: /questoes/fg157251