Hầu hết các câu trả lời khác không cung cấp bất cứ điều gì kết luận, chỉ là suy đoán. Vì vậy, dựa trên lời khuyên hữu ích từ câu trả lời của @ Namphibian
, Tôi đã chạy một EXPLAIN
trên một số truy vấn tương tự như truy vấn trong OP.
Kết quả như sau:
EXPLAIN
cho một truy vấn với = 1
:
EXPLAIN
cho một truy vấn với IN(1)
:
EXPLAIN
cho một truy vấn với IN(1,2,3)
:
Như bạn thấy, MySQL tối ưu hóa IN(1)
giống với = 1
trong loại truy vấn này. câu trả lời của @ mes
Tuy nhiên, dường như cho thấy rằng điều này có thể không phải lúc nào cũng đúng với các truy vấn phức tạp hơn.
Vì vậy, đối với những người quá lười biếng để chạy EXPLAIN
chính họ, bây giờ bạn biết. Và có, bạn có thể muốn chạy EXPLAIN
trên truy vấn của riêng bạn để đảm bảo rằng nó được xử lý theo cách này. :-)