关于MySql索引优化 使用explain关键字


优化查询使用 explain 关键字,句尾跟 \G; 格式化结果
在这里插入图片描述

type 指标常见类型:
  1. all:全文检索
  2. index:基于索引的全文检索。此时若 Extra为 Using index 则发生了索引覆盖,即使用的索引刚好为查询结果列且无需回表(索引检索完毕再根据行号查表)
  3. range:范围检索,如 between、<、>、in
  4. ref:等值检索 / 非主键或唯一索引的检索
  5. ref_eq:等值检索且结果只有一条?
  6. const:主键检索
索引失效:
  1. 字段与指定查询值类型不匹配,如 select * from user where age='20'
  2. 头部使用通配符 ‘%’,如 select * from user where name like '%san'
  3. where子句进行计算或使用聚合函数,如 select * from user where age%2=0
优化建议:
  1. 尽量使用组合索引代替单一索引,或窄索引(组合索引中1~2个字段,2个以上即为宽索引)
  2. 遵循最左原则,即使用组合索引时只有当使用第一个字段才算使用了索引。看图理解
    在这里插入图片描述
  3. 索引字段多选取where子句常用的

参考

😉 mysql中explain的type的解释

😉 复合索引的优点及注意事项

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值