Extra

Extra
Extra有以下几个值,它们都非常重要,它们表示你的SQL语句的最终性能,以下将介绍它的几种值,每个值都代表你的SQL语句的缺陷:
1.Using filesort
主要出现在 order by 排序、复合索引跨列;
order by 排序
出现原因:查询a表,却根据b表排序,例如:
select * From test01 where a = '3' order by b;
如果避免此情况出现,就根据什么字段查,就根据什么字段进行排序。如:
select test01 where a = '3' order by a;
执行结果:

如果没出现那就表明你这个SQL没毛病很显然上图我没出现?,如果出现出现这个?,说明你当前SQL语句需要“额外”的一次排序,我们理解起来就是,需要额外的一次查找;
假设我我们现在创建一张表test02,里面有 a1 a2 a3字段,然后分别给这三列字段添加索引;
这里我们就故意触发一下:
select * From test01 where a = '1' order by b;执行结果如下:

本文详细分析了MySQL中SQL执行计划的Extra字段,包括Using filesort、Using temporary、Using index和Using where的含义及影响。通过实例解释了如何避免这些性能问题,以提高SQL查询效率。
最低0.47元/天 解锁文章
2028

被折叠的 条评论
为什么被折叠?



