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

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

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

explain select * from sc group by sc.Sid

order by null 的作用

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

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

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

order by null 的作用

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

 

相关文章:

  • 2022-01-25
  • 2021-10-17
  • 2022-01-18
  • 2021-12-27
  • 2021-12-02
  • 2022-12-23
  • 2021-09-28
猜你喜欢
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-04
  • 2021-12-28
相关资源
相似解决方案