MySql高级explain的Extra介绍

2025-04-29 16:57:01

1、extra是包含不适合在其他列显示但是十分重要的额外信息。

MySql高级explain的Extra介绍

2、extra可熹栳缂靖能的值有Using filesort,说明mysql对数据使用一个外部的索引排序,而不是按照表内的索引排序进行读取,mysql无法利用索引完成的排序操作成为“文件排序”。出现这罩脾青槊种情况是非常危险的,需要优化。

MySql高级explain的Extra介绍

3、extra可熹栳缂靖能的值有Using temporary。使用了临时表保存中间结果,mysql在对查询结果排序时使用临时表,常见于排序order by和分组查询group by。这种情况非常危险,这个是拖慢sql的元凶。

MySql高级explain的Extra介绍

4、extra可能的值有Using index。表示相应的select操作中使用了覆盖索引,避免了访问表的数据行,效率不错!,如果同时出现using where,表名索引被用来执行索引键值的查找。

MySql高级explain的Extra介绍

5、覆盖索引就是select的数据列只用从索引中就能够取得,不必读取数据行,mysql可以利用索引返回select列表中的字段,而不必根据索引再次读取数据,换句话说查询列要被所建的索引覆盖。

MySql高级explain的Extra介绍

6、如果要使用覆盖索引,一定要注意select列表中只取出需要的列,不可使用select *。

MySql高级explain的Extra介绍
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢