Buongiorno a tutti,
Ho lavorato su un sql moderatamente complesso per "ottenere" alcuni dati da un database di prodotti di terze parti, per visualizzarli nelle nostre applicazioni interne.
Ho aggiunto una selezione per ottenere il record più alto da una tabella all'interno di una sottoquery (se questo ha senso)
la query ha impiegato quasi 3 minuti per restituire un set di risultati finali di 100 record utilizzando
SELECT TOP 1 ...
Ho cercato online miglioramenti per quello che stavo cercando di ottenere ed è stato suggerito di cambiare la mia selezione per utilizzare una variabile, come di seguito
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
Questa operazione ha richiesto la stessa query da 3 minuti a 1 secondo, il che è fantastico!
Qualcuno può spiegare perché è così.
top 1
.