Pular para o conteúdo principal

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

Banco de DadosSQL
Código
ce195344
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Área: Administração de Banco de Dados
No que se refere a planos de execução (explain plan) em bancos de dados relacionais, assinale a opção correta.
  1. AA geração de um plano de execução é um processo manual e demorado, que requer que o analista defina explicitamente os índices que serão utilizados.
  2. BO plano de execução inclui informações sobre métodos de junção entre tabelas, mas não sobre filtros, ordenações ou agrupamentos.
  3. CO plano de execução descreve a sequência de passos definida pelo otimizador, incluindo métodos de acesso, junção e operações de dados, o que permite ao analista identificar oportunidades de otimização.
  4. DO plano de execução é utilizado apenas em consultas que envolvem múltiplas tabelas, não se aplicando a instruções simples com apenas uma tabela.
  5. EO otimizador de consultas executa sempre todas as alternativas de plano, selecionando a que apresentar o menor tempo de execução real.
Revelar gabarito e comentário

GabaritoC — O plano de execução descreve a sequência de passos definida pelo otimizador, incluindo métodos de acesso, junção e operações de dados, o que permite ao analista identificar oportunidades de otimização.

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”.

Planos de Execução (Explain Plan) em Bancos de Dados Relacionais

Gabarito: letra C. O plano de execução (explain plan) é gerado automaticamente pelo otimizador de consultas e descreve a sequência de passos que o SGBD executará, incluindo métodos de acesso (como varredura de índice ou tabela), métodos de junção (nested loops, hash join, merge join) e operações de dados (filtros, ordenações, agrupamentos). Com base nessa descrição, o analista pode identificar gargalos e oportunidades de otimização, como a criação de índices adequados ou a reescrita da consulta.

A banca explora o conhecimento sobre o que é e o que contém um plano de execução, bem como seu papel na otimização de consultas. O contexto do Oracle Database 23c reforça que o EXPLAIN PLAN mostra detalhes como operação, objeto, custo e cardinalidade, sendo uma ferramenta essencial para tuning.

Alternativa A — ❌ Incorreta

A geração do plano de execução não é um processo manual. O otimizador de consultas (baseado em custo, no Oracle) analisa a consulta SQL, as estatísticas dos objetos e as opções de acesso disponíveis, e gera automaticamente o plano que julga mais eficiente. O analista não precisa definir explicitamente os índices que serão utilizados; o otimizador decide com base nas informações disponíveis.

Alternativa B — ❌ Incorreta

O plano de execução inclui, sim, informações sobre filtros, ordenações e agrupamentos. As operações como TABLE ACCESS BY INDEX ROWID com INDEX RANGE SCAN indicam filtros; SORT ORDER BY ou SORT GROUP BY aparecem quando há ordenação ou agrupamento. Portanto, a afirmativa de que o plano não inclui essas informações é falsa.

Alternativa C — ✅ Correta ⟵ GABARITO

Como mencionado, o plano de execução descreve exatamente a sequência de passos definida pelo otimizador, incluindo métodos de acesso (full table scan, index scan), junção (nested loops, hash join) e operações de dados (filter, sort, aggregate). Essa descrição permite ao analista identificar oportunidades de otimização, como a necessidade de índices adicionais ou a reescrita da consulta para melhor desempenho.

Alternativa D — ❌ Incorreta

O plano de execução é gerado para qualquer consulta SQL, mesmo aquelas que envolvem apenas uma tabela. Por exemplo, um simples SELECT * FROM funcionarios WHERE salario > 5000 terá um plano que indica se será usada varredura completa ou índice, e o filtro aplicado. A afirmativa de que se aplica apenas a consultas com múltiplas tabelas está errada.

Alternativa E — ❌ Incorreta

O otimizador não executa todas as alternativas de plano para selecionar a de menor tempo real. Ele utiliza um modelo de custo baseado em estatísticas (número de linhas, distribuição de dados, etc.) para estimar o custo de cada plano possível e escolhe o de menor custo estimado. Executar todas as alternativas seria inviável em termos de tempo e recursos.

SE LIGUE NESSA!

A questão cobra o conceito fundamental de plano de execução e seu papel no tuning de consultas. É um tema recorrente em provas de banco de dados, especialmente no Oracle, onde o comando EXPLAIN PLAN FOR seguido de SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY) é a prática padrão.

Gabarito: letra C.

Link permanente: /questoes/ce195344