order by null 的作用

Posted on 2017-05-05 18:30  冠军33  阅读(929)  评论(0编辑  收藏  举报

在SQL中order by null有什么用吗?这是我在一次面试时面试官问我的问题,当时我是懵的。他让我猜一下,我说不排序?没想到被我猜对了

  不排序你就别用order by啊!为什么要用order by null?

我们看一下下面这条SQL分析

explain select * from sc group by sc.Sid

在extra中我们看到 using filesort 外部排序,这肯定是影响SQL性能的。尤其是在用到group by时,即使你不需要排序,MySQL会默认根据分组字段order by。

其实,你根本就不需要排序,无辜拉低了你的SQL性能。此时,就可以考虑一下order by null:

explain select * from sc group by sc.Sid order by null

可以看到外部排序没有了。(即使select得到的数据只有一条,MySQL仍然会using filesort。)

 

Copyright © 2024 冠军33
Powered by .NET 8.0 on Kubernetes