EXPLAIN关键字用法:快速判断SQL是否命中索引,优化必备

EXPLAIN关键字用法:快速判断SQL是否命中索引,优化必备 前言优化 SQL 不能靠猜EXPLAIN 是 MySQL 性能优化神器可以直接看出有没有走索引、索引是否失效、是否全表扫描、查询效率如何。一、EXPLAIN 怎么用在 SQL 前加 EXPLAIN 即可EXPLAIN SELECT * FROM user WHERE name 张三;二、核心字段详解只看重点1. type最重要查询类型性能从好到差system const eq_ref ref range index ALLref/range正常走索引index索引全扫描一般ALL全表扫描最差必须优化2. key本次查询真正命中的索引null 未命中索引。3. rowsMySQL 预估扫描行数越小越快。4. ExtraUsing filesort文件排序严重性能问题Using temporary临时表分组/查询过烂Using index覆盖索引性能极佳三、优化判断标准type 尽量达到 ref / rangekey 不为 null杜绝 typeALL全表扫描杜绝 Using filesort、Using temporary