(ainusers原创) mysql优化器学习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AinUser/article/details/82966921

mysql优化器:(驱动程序的选择,主要依赖于索引的创建)

开发人员或者dba写出来的sql语句,有些时候会在sql语句的写法上面有一定的优化空间,mysql优化器会对sql进行相关的优化,提高sql语句的执行效率

案例1

优化器调用代码展示

主要优化内容如下

一、优化恒定关系

7.2.1.1恒定传播

7.2.1.2消除死代码(where条件中永远成立或者永远不成立的条件会被消除)

7.2.1.3常量计算

二、优化连接

7.2.2.1确定连接类型(explain查看执行计划中type值选项)

7.2.2.2连接和访问方法(4.0.14版本后left join=join直连接)

7.2.2.3范围连接类型

7.2.2.4索引连接类型(选择列表中的所有列都必须位于索引中)

三、换位

7.2.3.1和关系

7.2.3.2 OR关系

7.2.3.3 UNION查询

7.2.3.4 NOT(<>)关系

四、跟踪优化器

SET optimizer_trace="enabled=on";      //开启跟踪
select * from chart_attribute_info where type = '10' or type = '40';        //跟踪sql语句
SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;   //显示优化器数据
SET optimizer_trace="enabled=off";     //结束跟踪

猜你喜欢

转载自blog.csdn.net/AinUser/article/details/82966921