SQL Tuning – Otimização de Consultas
Gabarito: letra E. Examinar o plano de execução é a prática recomendada para diagnosticar consultas lentas sem alterar o resultado lógico, conforme os fundamentos de otimização de consultas (SQL tuning). As demais alternativas cometem erros conceituais graves.
A banca testa o conhecimento sobre o papel do plano de execução e os fatores que realmente afetam o desempenho. O otimizador nem sempre gera o mesmo plano; índices são fundamentais; e DISTINCT tem custo computacional.
Alternativa A — ❌ Incorreta
Afirma que DISTINCT é "puramente lógico e não impacta desempenho". Na realidade, DISTINCT exige ordenação ou hash para eliminar duplicatas, o que pode ser custoso. O impacto no desempenho é significativo, especialmente em grandes volumes de dados.
Alternativa B — ❌ Incorreta
"O otimizador sempre usa índices quando eles existem." Falso. O otimizador avalia o custo e pode optar por uma varredura sequencial (full table scan) se julgar mais eficiente, por exemplo, em tabelas pequenas ou quando a query retorna grande parte dos registros.
Alternativa C — ❌ Incorreta
"O desempenho independe da forma como a consulta é escrita, pois o otimizador sempre gera o mesmo plano." Incorreto. Diferentes redações (uso de subconsultas, JOINs, funções) podem levar a planos distintos. A forma da consulta influencia diretamente a performance.
Alternativa D — ❌ Incorreta
"Índices não têm impacto no desempenho de consultas." Absolutamente falso. Índices são estruturas criadas exatamente para acelerar buscas, reduzindo o número de blocos lidos.
Alternativa E — ✅ Correta ⟵ GABARITO
"Examinar o plano de execução com os comandos do SGBD é uma prática recomendada para diagnosticar consultas com baixo desempenho sem alterar o resultado lógico." Correta. O comando EXPLAIN (ou similar) mostra como o SGBD executará a consulta, permitindo identificar gargalos como varreduras desnecessárias, índices não utilizados ou junções ineficientes. É uma técnica central de tuning.
Gabarito: letra E.