[SQL ] 很微妙的查詢效能問題(ORDER BY)

作者: JeremyJoung (J.J.)   2016-08-11 05:23:19
資料庫名稱:MySQL 5.6
資料庫版本:
內容/問題描述:
我有一個查詢式如下 資料數量級15M
SELECT gDate, COUNT(*) c1 FROM car_gps GROUP BY gDate
SELECT gDate, COUNT(*) c1 FROM car_gps GROUP BY gDate ASC
我有做INDEX加速 INDEX大小1.24G
所以一般查詢或是ASC時 費時都是10秒(CPU TIME)
但是當改成DESC時
SELECT gDate, COUNT(*) c1 FROM car_gps GROUP BY gDate DESC
查詢時間瞬間暴增到324秒 而且全都是CPU時間 沒有任何硬碟IO
我很意外的是 雖然我的INDEX確實是ASC排序
但DESC不就是把INDEX倒過來讀而已嗎?
為什麼效能這麼吃重 而且還都是CPU
不知道有沒有神人知道其中的關鍵所在
作者: popcorny (畢業了..@@")   2016-08-11 09:28:00
話說group by desc是不是等於gropu by x order by desc?
作者: JeremyJoung (J.J.)   2016-08-11 11:05:00
是的 這是MySQL的專用縮寫效果等價於 GROUP BY gDate ORDER BY gDate DESC

Links booklink

Contact Us: admin [ a t ] ucptt.com