mysql调优小总结

1.概念解释

1.回表

索引是非主键索引的时候,先根据该索引查询到主键索引,主键索引再去查询该主键对应的记录,这种操作叫回表。

2.覆盖索引

只查询索引值,不回表就是覆盖索引。

select B from table where B='xxx';

上文如果查询字段B这个字段恰好是索引,那么不需要去找主键索引,不需要回表就是索引覆盖。

3.最左匹配原则

比如你现在有三个列A,B,C你现在需要根据条件A查询 又要根据条件A+B查询那么你需要建几个索引。你只需要建一个组合索引:A+B 就可以满足上面两个需要,因为最左匹配原则,A+B的索引在走只有条件A的索引的时候,最左匹配原则就起作用了,A+B最左是A开始的所以A的条件也会走索引A+B,但是比如你的条件是根据B一个条件查询,就不会走A+B的索引,从前到后A在左边,B来的话从左边不满足最左匹配原则。所以不走索引A+B。

4.索引下推

就是在复合索引里面先过滤一遍 完了之后再回表,就是减少io次数。只适合复合索引,比如没有索引下推,复合索引每个单独去回表匹配记录,比如A+B的复合索引,没有下推,先匹配A的索引回表,再匹配B的索引回表,如果索引下推,就是在执行复合索引A+B的时候先把不满足的条件过滤掉,只留下满足的条件,在索引这一层过滤,完了再回表。减少回表的IO次数。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值