假设我有一个漫长而昂贵的查询,它满足条件,搜索大量的行。我还有一个特殊的条件,比如公司ID,它会限制需要搜索的行数,从而缩小到数十万。WHERE子句中的条件顺序是否会影响MySQL性能?
它使MySQL的性能有什么区别我是否做到这一点:
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
或本:
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)
MySQL也有'EXPLAIN
本节可能会有所帮助:[WHERE子句optomisations](https://dev.mysql .COM/DOC/refman/5.5/EN /其中,optimizations.html) – will 2016-09-20 02:40:58