2010-06-15 21 views
34

Giả sử tôi có một truy vấn dài, tốn kém, có nhiều điều kiện, tìm kiếm một số lượng lớn hàng. Tôi cũng có một điều kiện cụ thể, giống như một id công ty, sẽ giới hạn số hàng cần được tìm kiếm đáng kể, thu hẹp nó xuống hàng chục từ hàng trăm nghìn.Thứ tự các điều kiện trong mệnh đề WHERE có ảnh hưởng đến hiệu suất của MySQL không?

Liệu nó thực hiện bất kỳ sự khác biệt cho hiệu suất MySQL cho dù tôi làm điều này:

SELECT * FROM clients WHERE 
     (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND 
     (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) AND 
     company = :ugh 

hay này:

SELECT * FROM clients WHERE 
     company = :ugh AND 
     (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND 
     (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) 
+3

MySQL cũng có 'GIẢI THÍCH