Questão de Banco de Dados — SGBD - Sistema de Gerenciamento de Banco de Dados — FGV 2024
Banco de Dados›SGBD - Sistema de Gerenciamento de Banco de Dados
Código
fg078334
Banca
FGV
Órgão
Câmara de Fortaleza - CE
Ano
2024
Nível
Superior
Cargo
Analista de Informática
Em uma empresa XPTO, havia um sistema corporativo interno cujos servidores de aplicação e banco de dados eram hospedados localmente (on-premises).Os usuários reclamavam da demora em uma consulta específica do sistema ao banco, que durava cerca de 10 a 15 segundos, impactando a produtividade.Para abordar essa questão, a empresa contratou Joselito, um DBA, com a tarefa de otimizar o desempenho do banco de dados. Ansioso para demonstrar suas habilidades, ele implementou rapidamente uma mudança, esperando melhorar o tempo de resposta.No entanto, o resultado foi o oposto do esperado: o tempo de resposta da consulta, em vez de diminuir, aumentou para cerca de 300 segundos.Assinale a opção que representa o comando que foi utilizado por Joselito.
ADROP TABLE
BDROP INDEX
CREBUILD INDEX
DVACUUM TABLE
EOPTIMIZE TABLE
Revelar gabarito e comentário▾
GabaritoB — DROP INDEX
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 índices em bancos de dados
Gabarito: alternativa B (DROP INDEX). Ao remover um índice utilizado pela consulta, o SGBD precisa percorrer toda a tabela (full table scan), resultando em um aumento drástico no tempo de resposta — exatamente o que ocorreu no caso: de 10-15s para 300s.
A questão testa o conhecimento sobre a importância dos índices no desempenho de consultas. Índices são estruturas auxiliares que aceleram a localização de registros, evitando varreduras completas. Removê-los (DROP INDEX) degrada o desempenho; os demais comandos (REBUILD, OPTIMIZE, VACUUM) visam melhorar a eficiência ou manutenção, sem causar tamanha piora.
Comando
Efeito esperado
Resultado no caso
Relação com o problema
DROP TABLE
Exclui a tabela
Erro na consulta
Não causa lentidão, mas sim falha
DROP INDEX
Remove o índice
Degradação extrema (10-15s → 300s)
Causa a piora observada
REBUILD INDEX
Reorganiza o índice
Melhora desempenho
Não piora o tempo
VACUUM TABLE
Recupera espaço/atualiza estatísticas
Leve melhora ou neutro
Não causa degradação
OPTIMIZE TABLE
Reorganiza tabela e índices
Melhora desempenho
Não piora o tempo
Comandos em índices: Removem estrutura (DROP INDEX (causa lentidão)); Mantêm/recriam estrutura (REBUILD INDEX (melhora), OPTIMIZE TABLE (melhora), VACUUM TABLE (melhora)); Excluem tabela (DROP TABLE (erro na consulta))
Alternativa A — ❌ Incorreta
O comando DROP TABLE excluiria a tabela inteira, gerando erro na consulta, não apenas lentidão.
Alternativa B — ✅ Correta ⟵ GABARITO
DROP INDEX remove o índice. Sem ele, o SGBD realiza uma varredura completa na tabela (full table scan), aumentando exponencialmente o tempo da consulta, que passou de 10-15s para 300s.
Alternativa C — ❌ Incorreta
REBUILD INDEX recria o índice, reorganizando sua estrutura. Isso geralmente melhora o desempenho (reduz fragmentação), não o piora.
Alternativa D — ❌ Incorreta
VACUUM TABLE (típico de PostgreSQL) recupera espaço e atualiza estatísticas, mas não causa degradação na ordem de grandeza observada; em alguns casos pode até melhorar consultas.
Alternativa E — ❌ Incorreta
OPTIMIZE TABLE (típico de MySQL) reorganiza a tabela e índices, visando melhorar o desempenho, não piorá-lo.
NÃO CAIA NESSA!
O DBA pode pensar que qualquer operação de manutenção (REBUILD, OPTIMIZE) resolveria o problema, mas a remoção do índice (DROP INDEX) é a única que causa piora significativa. O candidato deve lembrar que índices aceleram consultas, e sua ausência leva a varreduras completas.