Dzień dobry wszystkim,
Pracowałem nad jakimś umiarkowanie złożonym sql, aby „uzyskać” niektóre dane z bazy danych produktów stron trzecich, aby wyświetlić je we własnych aplikacjach wewnętrznych.
Dodałem w zaznaczeniu, aby uzyskać najwyższy rekord z tabeli w podzapytaniu (jeśli to ma sens)
kwerenda zajęła prawie 3 minuty, aby użyć końcowego zestawu wyników 100 rekordów
SELECT TOP 1 ...
Szukałem w Internecie ulepszeń tego, co próbowałem osiągnąć, i zasugerowano, żebym zmienił mój wybór, aby użyć zmiennej, jak poniżej
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
To zajęło to samo zapytanie od 3 minut do 1 sekundy, co jest świetne!
Ale czy ktoś może wyjaśnić, dlaczego tak jest.
top 1
.