order by null
用途是强制对查询结果禁用排序。通过explain检查查询语句时候,如果看到Extra列中有Using filesort,这是对性能有一定影响的,特别是使用了group by时,就算你没有显示的指定order by,mysql会默认按照分组字段进行排序。某些情况下是没有必要使用排序的,例如在处理表报数据的时候(把原始表数据统计后插入到一个用于报表查询的表),则完全可以可以使用order by null来取消排序。如:
insert into reportTable(day, clicks, revenue)
select day, count(*), sum(revenue) from clickOriginTalbe group by day order by null
本文介绍了一种SQL查询优化技巧——使用orderbynull强制禁用查询结果排序。此方法有助于提高特定场景下(如报表数据处理)的数据处理效率。当不需要排序结果时,利用orderbynull可以避免不必要的文件排序操作,尤其是与groupby结合使用时效果更佳。

被折叠的 条评论
为什么被折叠?



