IT技术网www.itjs.cn

当前位置:首页 > 数据库 > MySQL > MySQL查询优化程序

MySQL查询优化程序

发布时间:2015-09-02 00:00 来源:未知

在发布一个选择行的查询时, MySQL进行分析,看是否能够对它进行优化,使它执行更快。该篇文章我们将研究查询优化程序怎样工作。更详细的信息,可参阅MySQL参考指南中的“Getting Maximum Performance from MySQL”,该篇文章描述了MySQL采用的各种优化措施。(http://www.mysql.com/ 处的MySQL联机参考指南在不断地更新。)

MySQL查询优化程序利用了索引。当然,它也利用了其他信息。例如,如果发布下列查询,MySQL将非常快地执行它,不管相应的表有多大:

其中第一行不能利用索引, 因为必须为每行检索列, 以便能够计算TO _ DAYS(date_col) 的值。第二行要好一些。c ut o ff 和TO _ DAY S ( CURRENT _ DATE) 两者都是常量,因此比较表达式的右边可在查询处理前由优化程序一次计算出来,而不是每行计算一次。但date_col 列仍然出现在一个函数调用中,因此,没有使用索引。第三行是最好的方法。比较表达式的右边可在执行查询前作为常量一次计算出来,但现在其值是一个日期。这个值可直接与date_col 的值进行比较,不再需要转换为天数,可以利用索引。

■ 在LIKE 模式的起始处不要使用通配符。有时,有的人会用下列形式的WHERE 子句来搜索串: