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  是上面的 执行性能 重点 进一步论证了 上面的观点
 
不足的地方 望大家 指正

相关内容

热门资讯

上海交通大学通报学生瞒骗竞赛奖... 5月18日,上海交通大学国家电投智慧能源创新学院发布情况通报:近日,有同学反映我院一名学生在相关竞赛...
从中超球星到外卖骑手,邱忠辉和... 澎湃新闻记者 宋承良山东青岛李沧区工人文化宫对面的一家酒店咖啡厅,邱忠辉比约好的时间提前了10分钟来...
台湾问题优先,但美国扣得好第一... 【文/观察者网专栏作者 雁默】特朗普两手空空来中国,领了一张中文考卷回美国,考题是“如何扣好第一颗纽...
特稿|继往开来的重要时刻——俄... 新华社北京/莫斯科5月18日电 特稿|继往开来的重要时刻——俄罗斯各界期待两国元首外交引领中俄关系开...
商务部:结合能源转型,将出台针... 【大河财立方 记者 程帅星 北京报道】 深入推进汽车流通消费改革试点、出台针对11万座加油站转型的举...
底价近1亿元!安阳钢铁挂牌一子... 【大河财立方消息】 5月18日,安阳钢铁股份有限公司(证券简称:安阳钢铁)公告,收到河南中原产权交易...
2026数博会招展工作启动,申... 据中国国际大数据产业博览会(简称数博会)执委会消息,2026数博会招展工作已全面启动,全球大数据、人...
“逐日工程”研究取得重大进展 这是“逐日工程”空间太阳能电站地面验证系统(4月16日摄)。新华社发 新华社西安5月18...
撬动万亿级入境消费增量,离境退... 【大河财立方 记者 程帅星 北京报道】 国内商品,有望卖给更多境外游客。5月18日《关于加力优化离境...
文旅增长瞄准“沉浸体验” ——... 随着景区NPC业态的火爆升温,河南开封的文旅市场再添一波热度。这座历史文化名城没有抱着旅游资源“躺平...