[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