您的位置:首页 > 数据库 > Oracle

oracle九百万级的分页sql优化

2018-03-15 10:25 176 查看
先看看数据库music表的大小:

SELECT count(1) from music



优化之前的sql:

select * from (SELECT m.* ,ROWNUM rn from music m) m where m.rn>0 and m.rn<=20

执行结果:

[SQL]select * from (SELECT m.* ,ROWNUM rn from music m) m where m.rn>0 and m.rn<=20

受影响的行: 0

时间: 136.409s

这个分页可以说是让人头痛了

优化之后的sql:

select * from (SELECT m.* ,ROWNUM rn from music m where ROWNUM<=20) WHERE rn>0

执行结果:

[SQL]select * from (SELECT m.* ,ROWNUM rn from music m where ROWNUM<=20) WHERE rn>0

受影响的行: 0

时间: 3.603s

只需要了三秒多,本人测试是连的wifi,比实际要慢很多,放到项目中基本只要1S左右的时间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle分页