FC ConcursosFC Concursos

Questão FC90506

Considerando aspectos da análise de desempenho e otimização de consultas SQL, julgue o próximo item. A consulta SELECT _ FROM Empregado WHERE Nome = @P OR Login = @P; é menos efici

Linguagem SQL

CEBRASPE (CESPE) · 2024

Considerando aspectos da análise de desempenho e otimização de consultas SQL, julgue o próximo item.

A consulta
 
SELECT _
FROM Empregado
WHERE Nome = @P
OR Login = @P;
 
é menos eficiente que a seguinte consulta.
 
SELECT _
FROM Empregado
WHERE Nome = @P
UNION
SELECT _
FROM Empregado
WHERE Login = @P;
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

Comentário: A assertiva está correta. A consulta utilizando OR pode ser menos eficiente do que a alternativa com UNION, dependendo da estrutura da tabela e do índice utilizado.

Explicação 

  1. Consulta com OR (WHERE Nome = @P OR Login = @P)
    • O uso de OR pode impedir o banco de dados de usar índices de forma eficiente.
    • Em tabelas grandes, pode resultar em uma varredura completa da tabela (FULL SCAN), o que impacta o desempenho.
  2. Consulta com UNION (WHERE Nome = @P UNION WHERE Login = @P)
    • O UNION permite que cada consulta utilize índices específicos.
    • Caso existam índices separados para Nome e Login, cada consulta pode ser otimizada individualmente, evitando varredura completa da tabela.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo