1.简介
explain命令可以查看SQL语句的执行计划。当explain与SQL语句一起使用时,MySQL将显示执行计划的相关信息。也就是说,MySQL解释了它将如何处理语句、如何联接表以及以何种顺序联接表的信息。
2.功能
查询分析器提供包括分析表读取顺序、数据读取的操作类型、索引实际使用情况、表之间的引用等功能。
3.使用
explain的使用很简单,只需要在SQL语句之前加上explain命令即可,除select语句外,explain也能分析insert、update和delete语句。
参数 | 描述 |
id | 执行select子句或操作表的顺序 |
table | 当前行使用的表名 |
partitions | 匹配的分区 |
type | 连接类型,如system、const、eq_ref、ref、range、index、all等 |
possible_keys | 可能使用的索引 |
key | 实际使用的索引,null表示未使用索引 |
key_len | 查询中使用的索引长度 |
ref | 列与索引的比较 |
rows | 扫描的行数 |
filtered | 选取的行数占扫描的行数的百分比,理想的结果是100 |
extra | 其他额外信息 |