这篇文章主要讲解了“mysql中的优化器是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中的优化器是什么”吧!
说明
分析器生成的语法树被认为是合法的,由优化器转化为执行计划。在mysql判断了这个sql需要做什么之后,对它进行了各种优化,包括重写查询,决定读取顺序,以及选择合适的索引等。
mysql使用基于成本优化的优化器,试图预测使用某个执行计划时的成本,选择最小的。
例如,当表中有多个索引时,决定使用哪一个;当使用联合索引时,where条件的顺序将根据因此进行调整;
如果你想知道优化器是如何做出优化决策的,你可以通过explain获得优化信息。
从语义上讲,优化器的工作过程可分为四个阶段:
(1)逻辑转换包括否定消除、等值传递和常量传递、常量表达式求值、外部连接转换为内部连接、子查询转换、视图合并等。
(2)优化准备,如索引ref和range访问方法分析、查询条件扇出值(fanout、过滤记录数)分析、常量表检测。
(3)基于成本优化,包括访问方法和连接顺序的选择。
(4)实施计划的改进,如表条件下推、访问方法调整、排序避免和索引条件下推。
感谢各位的阅读,以上就是“mysql中的优化器是什么”的内容了,经过本文的学习后,相信大家对mysql中的优化器是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!