如何使用MYSQL的EXPLAIN语句进行查询分析?

如何使用MYSQL的EXPLAIN语句进行查询分析?
面试1.在sq|语句前面加上explain然后执行2.分析输出关注typekeyrowsextra这几个参数type常见的值有ref range indexall。refrange,index都表示用上了索引。ref表示使用上了非唯一索引range常见于范围查询表示扫描索引的一个范围index表示扫描索引中的所有行all表示全表扫描性能最差。key表示用到的索引的名称rows表示要读取的行数越小越好extra会展示一些其它信息例如using index表示应用了覆盖索引using filesort使用了文件排序优化例子建立联合索引使索引里面包含要排序的所有字段从文件排序优化到了索引排序。idselect_typetabletypekeykey_lenrefrowsExtra1SIMPLEuserrefidx_age5const1Using indexid1单条简单查询只有一层select_typeSIMPLE无关联子查询、无 UNIONtableuser操作表是 usertyperef使用普通索引等值匹配性能良好keyidx_age本次查询真正使用了 age 索引key_len5int 类型索引占用 5 字节refconst匹配条件是常量 18rows1预估只扫描 1 行数据ExtraUsing index覆盖索引不用回表性能最优