(ainusers原创) mysql优化器学习

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";     //结束跟踪

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值