Pagi semua
Saya telah mengerjakan beberapa sql yang cukup kompleks untuk 'memperoleh' beberapa data dari basis data produk pihak ketiga, untuk menampilkannya dalam aplikasi internal kami sendiri.
Saya menambahkan dalam pilih untuk mendapatkan catatan teratas dari tabel dalam subquery (jika itu masuk akal)
kueri membutuhkan waktu hampir 3 menit untuk mengembalikan set hasil akhir dari 100 catatan menggunakan
SELECT TOP 1 ...
Saya melihat-lihat online untuk perbaikan pada apa yang saya coba capai dan disarankan agar saya mengubah pilih saya untuk menggunakan variabel, seperti di bawah ini
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
Ini mengambil kueri yang sama dari 3 menit ke 1 detik, yang sangat bagus!
Tetapi adakah yang bisa menjelaskan mengapa demikian?
sumber
top 1
.