以前查询mysql的时候,一般会用order by来进行排序,如果我们不需要对字段进行排序,应该怎么办呢?这个时候就得用order by null了.
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 --Vevb.com
- order by null
相信你已经对order by null有一定的了解了.
新闻热点
疑难解答