oracle order by效率慢
springboot mybatis代码使用数据库oracle。使用select分页查询的时候,返回结果很耗时40+s。我放到执行计划里面看了下也没耗很长时间,不应该需要使用40+s。然后尝试了下把order by去掉就变很快了,再加回来就又慢了。初步判断是order by引起的。做了个尝试把order by前置放到select语句中原本select * from xxx order by a d
·
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;
效率就快多了,到时候发布到生产上看下效果。
更多推荐
已为社区贡献1条内容
所有评论(0)