springboot-mybatis代码使用数据库oracle。使用select-PageHelper分页查询的时候,数据量不大,才4000条。
提取sql执行查询,不分页很快,一分页大概率返回结果耗时40+s,也有小概率耗时快的。
我放到执行计划里面看了下也没耗很长时间,不应该需要使用40+s。
然后尝试了下把order by去掉就变很快了,再加回来就又慢了。初步判断是order by引起的。
之前尝试了加索引啥的没用。还查到资料说是要改个参数然后重启oracle服务器。生产的暂时没法改。

突然想到做个尝试把order by前置放到select语句中

原本

select * from xxx order by a desc,b desc;

改成:

select row_number() over(ORDER BY a.a DESC ,a.b DESC) row_number,a.*
from xxx a;

效率就快多了,到时候发布到生产上看下效果。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐