看板 Database 關於我們 聯絡資訊
資料庫名稱: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 不知道有沒有神人知道其中的關鍵所在 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.72.102 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1470864202.A.BDC.html
popcorny: 話說group by desc是不是等於gropu by x order by desc? 08/11 09:28
JeremyJoung: 是的 這是MySQL的專用縮寫 08/11 11:05
JeremyJoung: 效果等價於 GROUP BY gDate ORDER BY gDate DESC 08/11 11:06