Всем утро,
Я работал над некоторым умеренно сложным SQL, чтобы «получить» некоторые данные из сторонней базы данных продуктов, чтобы отобразить их в наших собственных приложениях.
Я добавил в выборку, чтобы получить верхнюю запись из таблицы в подзапросе (если это имеет смысл)
запрос занял около 3 минут, чтобы вернуть окончательный набор результатов из 100 записей, используя
SELECT TOP 1 ...
Я посмотрел в Интернете, чтобы улучшить то, что я пытался достичь, и было предложено изменить свой выбор, чтобы использовать переменную, как показано ниже
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
Это заняло тот же запрос от 3 минут до 1 секунды, и это здорово!
Но кто-нибудь может объяснить, почему это так.
источник
top 1
.