跳到主要内容

1 篇博文 含有标签「mysql」

查看所有标签

SQL优化技巧 - 显式禁止结果字段排序

· 阅读需 3 分钟
PawSQL Team
Optimize your SQL Queries by Clicks!

问题定义

在MySQL的早期版本中,即使没有order by子句,group by默认也会按分组字段排序,这就可能导致不必要的文件排序,影响SQL的查询性能。可以通过添加order by null来强制取消排序,禁用查询结果集的排序;PawSQL识别并进行了重写。

譬如下面的例子中

SELECT l_orderkey, sum(l_quantity) 
FROM lineitem
GROUP BY l_orderkey;

在MySQL 5.x版本中,group by l_orderkey会引起默认排序, 可以通过添加order by null来避免该排序。