Buổi sáng tất cả,
Tôi đã làm việc trên một số sql phức tạp vừa phải để 'lấy' một số dữ liệu từ cơ sở dữ liệu sản phẩm của bên thứ ba, để hiển thị nó trong các ứng dụng nội bộ của chúng ta.
Tôi đã thêm vào một lựa chọn để có được bản ghi hàng đầu từ một bảng trong truy vấn con (nếu điều đó có ý nghĩa)
truy vấn mất gần 3 phút để trả về tập kết quả cuối cùng gồm 100 bản ghi bằng cách sử dụng
SELECT TOP 1 ...
Tôi đã xem trực tuyến các cải tiến cho những gì tôi đang cố gắng đạt được và được đề nghị rằng tôi thay đổi lựa chọn của mình để sử dụng một biến, như dưới đây
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
Điều này đã đưa cùng một truy vấn từ 3 phút xuống còn 1 giây, thật tuyệt!
Nhưng bất cứ ai có thể giải thích tại sao điều này là như vậy.
top 1
.