CẬP NHẬT:Truy vấn SELECT này mất 180 giây để hoàn thành
Chỉ cần đề cập đến nó ở một nơi dễ thấy hơn. Khi tôi thay đổi IN cho =, thời gian thực hiện truy vấn đã giảm từ 180 xuống còn 0,00008 giây. Khác biệt tốc độ vô lý.
Truy vấn SQL này mất 180 giây để hoàn tất! Làm thế nào là có thể? có cách nào để tối ưu hóa nó nhanh hơn không?
SELECT IdLawVersionValidFrom
FROM question_law_version
WHERE IdQuestionLawVersion IN
(
SELECT MAX(IdQuestionLawVersion)
FROM question_law_version
WHERE IdQuestionLaw IN
(
SELECT MIN(IdQuestionLaw)
FROM question_law
WHERE IdQuestion=236 AND IdQuestionLaw>63
)
)
Chỉ có khoảng 5000 hàng trong mỗi bảng nên không quá chậm.
Bất kỳ sự khác biệt nếu bạn thay đổi 'IN' cho '='? –
Những tên cột đó làm tổn thương não tôi. Bạn có thể giải thích những gì các truy vấn được cho là phải làm gì? – RedFilter
@ Martin Smith nó sẽ là đáng ngạc nhiên (và giáo dục cho tôi) nếu nó làm cho bất kỳ sự khác biệt. –