最详细的 MySQL 执行计划和索引优化!
不管是工作中,还是面试中,关于mysql的explain执行计划以及索引优化,都是非常值得关注的。
本文目录
一,案例
二,explain 执行计划
-
- 2.1,id
- 2.2,select_type
- 2.3,type
- 2.4,possible_keys
- 2.5,key
- 2.6,key_len
- 2.7,ref
- 2.8,rows
- 2.9,Extra
三,索引遵循规则(失效问题)
-
- 1,全值匹配
- 2,最左前缀法则
- 3,不在索引列上做任何操作
- 4,如果索引中间有使用范围,那么后边的索引失效
- 5,尽量使用覆盖索引
- 6,mysql 在使用不等于(!= 或者 ),not in ,not exists 的时候无法使用索引会导致全表扫描
- 7,is null,is not null 一般情况下也无法使用索引
- 8,like
- 9,字符串不加单引号会造成作用失效
四,不走索引常见类型
五,常见 sql 优化
-
- in 和 exsits 优化
- count(*) 查询优化
- Order by 与 Group by 优化
- 分页查询优化
- join 连接查询优化
六,字段数据类型讲解
七,总结