Manhã tudo,
Eu tenho trabalhado em algum sql moderadamente complexo para 'obter' alguns dados de um banco de dados de produtos de terceiros, para exibi-los em nossos próprios aplicativos internos.
Adicionei um select para obter o registro superior de uma tabela dentro de uma subconsulta (se isso faz sentido)
a consulta levou quase 3 minutos para retornar um conjunto de resultados final de 100 registros usando
SELECT TOP 1 ...
Procurei on-line por melhorias no que estava tentando alcançar e foi sugerido que eu alterasse meu select para usar uma variável, como abaixo
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
Isso levou a mesma consulta dos 3 minutos até 1 segundo, o que é ótimo!
Mas alguém pode explicar por que isso é assim?
fonte
top 1
.