【发布时间】:2010-06-15 06:44:28
【问题描述】:
假设我有一个长而昂贵的查询,包含条件,搜索大量行。我还有一个特殊条件,比如公司 id,它将大大限制需要搜索的行数,将其从数十万缩小到数十。
我这样做对 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 <SELECT ...>dev.mysql.com/doc/refman/5.0/en/explain.html -
此部分可能会有所帮助:WHERE clause optomisations