order by 的时候 select 上的列导致的影响 分析
admin
2023-05-22 18:22:14
0

create table t1 (
a1 bigint  not null primary key auto_increment,
c10 char(10),
c100 char(100),
c200 char(200),
c30 char(255),
c300 text
)

insert into t1 (c10,c100,c200,c30,c300)values ('a','a','a','a','a');

insert into t1 (c10,c100,c200,c30,c300) select lpad(c10,10,'1'),lpad(c100,100,'1'),lpad(c200,190,'a'),lpad(c30,250,'1'),lpad(c300,2000,'1') from t1;


root@localhost [test]>select count(a1) from t1;
+-----------+
| count(a1) |
+-----------+
|     65536 |

select SQL_NO_CACHE count(1) from (
       select a1 from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a;


select SQL_NO_CACHE count(1) from (
       select a1,c100 from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a;

select SQL_NO_CACHE count(1) from (
       select a1,c100,c200 from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a;
   
   
select SQL_NO_CACHE count(1) from (
       select a1,c100,c200,c30 from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a; 

select SQL_NO_CACHE count(1) from (
       select a1,c100,c200,c30 ,c300 from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a;    

select SQL_NO_CACHE count(1) from (
       select * from t1 IGNORE INDEX (primary)   order by c10 desc  limit  1000 ) a;
   
   

order by 的时候 select 上的列导致的影响 分析





从上面的实验 结果都是只执行了 一遍 要是取得相对准确值 可以 多执行几次 

但我们 可以从最上面和 最后一条 可以看出 一个在 3.* 秒 一个在6.* 秒

说明 有排序的时候 影响 性能 的 不仅仅是 order by 后面的列 因为 都使用了 tmp 表 而加入tmp表的内容是select 当中 列 然后根据 order by 当中的 列 进行 排序 所以用的tmp 值是select col 的和 * rows  

大家也可以从 show profile 中 发现  Creating sort index  是上面的 执行性能 重点 进一步论证了 上面的观点
 
不足的地方 望大家 指正

相关内容

热门资讯

“和平委员会”改口,以军继续空... △8月3日,加沙城,一辆汽车遭以色列空袭后起火美国发起的所谓“和平委员会”3日就以色列从加沙地带撤军...
时隔5年,“扫黑除恶”突然升格... 新闻不长,事情很大。时隔5年,“扫黑除恶”再一次升格了。据新华社消息,近日,党中央就深化扫黑除恶专项...
法院执行局长被曝骚扰索贿录音,... 文 | 张彦宗河北邯郸武丽娜女士向新黄河提供了一段录音,曝光该市丛台区法院执行局局长郭红波公开索贿,...
2名女店员被炸死,震动日本 “两个女孩的生命,竟然还不如你们门店一天的营业额?!”——这是日本众多网民在过去几天里不断发出的质问...
四川自贡一区委书记任上病逝 澎湃新闻记者 钟煜豪据四川自贡市自流井区委办公室发布的讣告,自贡市自流井区委书记、二级巡视员万春霞同...
顶流女星拿文物当耳环,惹了众怒 电影《奥德赛》上映之时,一副“耳环”先成了焦点。在《奥德赛》伦敦媒体发布会上,顶流女星赞达亚身着一袭...
电脑打印机脱机怎么重新连接 打印机脱机可能是由于连接线松动、打印机状态异常或驱动程序问题等原因导致的。通过检查连接线、电源和网络...
电脑打印机脱机怎么重新连接?碰... 电脑打印机出现脱机的现象,可以尝试选择以下的几个方式来重新连接。首先您需要查看的就是电脑打印机跟电脑...
打印机手机已连接,怎么打出来是... 在现代科技的发展下,打印机和手机已经成为我们日常生活中不可或缺的工具。然而,有时候我们可能会遇到一些...
共享打印机无法打印怎么办 如果共享打印机无法正常打印,首先我们要检查一下打印机的电源有没有连接好?如果共享打印机的电源灯不亮,...