Questão FC90507
Considerando aspectos da análise de desempenho e otimização de consultas SQL, julgue o próximo item. A consulta SELECT * FROM Produtos WHERE TipoProd = ‘1’; é mais eficiente que a
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 Produtos
WHERE TipoProd = ‘1’;
FROM Produtos
WHERE TipoProd = ‘1’;
é mais eficiente que a consulta a seguir.
SELECT *
FROM Produtos
WHERE TipoProd = CAST (@char AS INT);
FROM Produtos
WHERE TipoProd = CAST (@char AS INT);
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
Comentário: A assertiva está errada. A consulta que utiliza CAST(@char AS INT) pode ser menos eficiente porque envolve uma conversão explícita de tipos de dados, o que pode impactar a performance dependendo do tamanho da tabela.
Explicação
- Comparação direta (
WHERE TipoProd = '1')- Aqui, não há conversão de tipos.
- Se TipoProd for um campo de tipo
VARCHAR, a comparação será feita diretamente e poderá utilizar índices de forma eficiente.
- Conversão explícita (
CAST(@char AS INT))- A conversão de tipos pode impedir o uso de índices, resultando em uma varredura completa da tabela (
FULL SCAN). - Esse tipo de operação pode ser custosa em bancos de dados grandes.
- A conversão de tipos pode impedir o uso de índices, resultando em uma varredura completa da tabela (
Conteúdo do catálogo FC Concursos · Atualizado em