Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — FGV 2026
Banco de Dados›Otimizaçã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 é
Adesativar a coleta automática de estatísticas, pois ela consome muitos recursos.
Bexecutar periodicamente o comando de atualização de estatísticas manualmente, especialmente após grandes alterações de dados.
Cmudar o nível de isolamento da transação.
Dremover todos os índices, pois o Otimizador só escolhe planos de varredura de tabela.
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.
1Otimizador estima custo
2Baseia-se em estatísticas
3Estatísticas desatualizadas
4Plano de execução ruim
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.