最详细的 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 连接查询优化
  • 六,字段数据类型讲解

  • 七,总结