今天我在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 --Vevb.com
- order by null
MySQL在排序時(Order by),Null值在什么位置?
答:在ASC時,null在最前面,desc時在最后面.
新聞熱點
疑難解答