Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2024

Banco de DadosSQL
Código
ce178292
Banca
CESPE / CEBRASPE
Órgão
MPO
Ano
2024
Nível
Superior
Cargo
Analista de Planejamento e Orçamento - Especialidade: Gestão de Infraestrutura de TI
Considerando aspectos da análise de desempenho e otimização de consultas SQL, julgue o próximo item.A consultaImagem da questãoé mais eficiente que a consulta a seguir.Imagem da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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 SQL: equivalência e eficiência

Gabarito: Errado (E). A afirmação de que uma consulta é mais eficiente que outra, sem considerar o plano de execução gerado pelo otimizador do SGBD, é uma generalização indevida. A eficiência de uma consulta SQL não é uma propriedade intrínseca da sua sintaxe, mas sim do plano de execução escolhido pelo otimizador, que depende de fatores como estatísticas, índices e distribuição dos dados. O texto de apoio sobre otimização de consultas (Capítulo 19) reforça que o SGBD deve processar consultas equivalentes da mesma maneira, mas que, na prática, cada SGBD possui métodos diferentes, e a eficiência pode variar conforme a especificação.

A otimização de consultas é o processo pelo qual o SGBD transforma uma consulta SQL em um plano de execução eficiente. Esse processo envolve várias etapas, como a conversão da consulta em uma forma canônica e a escolha de procedimentos de baixo nível, considerando a existência de índices e a distribuição dos dados. O otimizador busca encontrar a forma mais eficiente de executar uma consulta, mas essa eficiência é relativa ao estado do banco de dados e às estatísticas disponíveis.

A questão apresenta duas consultas SQL (representadas nas imagens) e afirma que uma é mais eficiente que a outra. No entanto, sem conhecer o plano de execução gerado pelo otimizador, não é possível afirmar categoricamente que uma é mais eficiente. Consultas sintaticamente diferentes podem ser equivalentes e o otimizador pode gerar o mesmo plano de execução para ambas. Além disso, a eficiência pode variar dependendo do SGBD e das condições específicas do banco de dados.

A pegadinha da questão está em assumir que a forma como a consulta é escrita determina diretamente sua eficiência. Na prática, o otimizador de consultas é responsável por encontrar o plano de execução mais eficiente, e a sintaxe da consulta é apenas um dos fatores considerados. Portanto, a afirmação de que uma consulta é mais eficiente que outra, sem considerar o plano de execução, é uma generalização indevida.

NÃO CAIA NESSA!

A banca explora a ideia de que a eficiência de uma consulta SQL é determinada pela sua sintaxe. Na realidade, o otimizador do SGBD decide o plano de execução, e consultas equivalentes podem ter o mesmo desempenho. A eficiência depende de fatores como índices, estatísticas e distribuição dos dados, não apenas da forma como a consulta é escrita.

  1. 1Consulta SQL escrita
  2. 2Otimizador gera plano
  3. 3Considera índices/estatísticas
  4. 4Executa plano eficiente
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmação de que uma consulta é mais eficiente que outra, sem considerar o plano de execução gerado pelo otimizador, é incorreta. A eficiência de uma consulta SQL não é uma propriedade intrínseca da sua sintaxe, mas sim do plano de execução escolhido pelo otimizador, que depende de fatores como estatísticas, índices e distribuição dos dados. O texto de apoio sobre otimização de consultas (Capítulo 19) reforça que o SGBD deve processar consultas equivalentes da mesma maneira, mas que, na prática, cada SGBD possui métodos diferentes, e a eficiência pode variar conforme a especificação.

Gabarito: Errado (E).

Link permanente: /questoes/ce178292