今天我在mysql中發現有這麼一句select * from bb order by null 看不出這句話的時間呀,後來找了才知道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
order by null
MySQL在排序時(Order by), Null值在什麼位置? .
答:
在ASC時,null在最前面,desc時在最後面