两条速度相差1350倍的sql语句
一起来学习研究下,看看是什么导致的这么大差别:
SQL1:
select * from RESOURCES
where RES_STATUS = 1 and PLATFORM_FLAG=1 and RES_ID in (select RES_ID from DOWNLOADRECORDSwhere DOWNLOADRECORDS_TIME > DATE_SUB(now(),INTERVAL 7 DAY) group by RES_ID order by COUNT(*) desc
) limit 1, 10;
这条语句查处结果需要20250毫秒
SQL2:
select bb.* from (select * from DOWNLOADRECORDSwhere DOWNLOADRECORDS_TIME > DATE_SUB(now(),INTERVAL 7 DAY) group by RES_ID order by COUNT(*) desc limit 1,10
) as aa,RESOURCES as bb
where
aa.RES_ID=bb.RES_ID
and bb.RES_STATUS = 1
and bb.PLATFORM_FLAG=1;
这条语句只需要15毫秒