oracle分页 慢,oracle分页查询缓慢的情况

oracle分页 慢,oracle分页查询缓慢的情况这是延续很久的问题了项目使用的 Oracle 一百多万数据 分页显示 10 条 高配服务器显示首页都要 10 秒以上 配置差的服务器要好几十秒 实在无法忍受 还不如 mysql 的速度前前后后多次想对这个进行优化 但是好几次都是研究了半天没有一点进展昨天和今天通过 sqldeveloper 不要笑话我不用 PL SQL 的解释计划 看到查询使用了全表扫描之前一直认为是使用了 like 的原因在我自己的知识库里 我只

这是延续很久的问题了

项目使用的Oracle,一百多万数据,分页显示10条,高配服务器显示首页都要10秒以上,配置差的服务器要好几十秒,实在无法忍受,还不如

mysql的速度

前前后后多次想对这个进行优化,但是好几次都是研究了半天没有一点进展

昨天和今天通过sql developer (不要笑话我不用PL/SQL)的解释计划,看到查询使用了全表扫描

之前一直认为是使用了like的原因

在我自己的知识库里,我只知道like 关键字开头不以通配符开始,是可以使用索引的

但是现实就是我没以通配符开始,也没使用索引

然后我又给另外一个条件建立索引,还是不行

把外在分页的那些语句去掉,还是没使用索引

把左连接去掉,仍然没使用索引

都绝望了的时候

把order by删掉,瞬间奇迹就来了

原来查询要12秒以上的,马上变成0.078秒了

这不是问题么

于是马上又去找,oracle order by查询缓慢的原因

找了很多,很多人给的解决办法就是建索引,走索引

但是这个怎么操作就不是很详细了

好吧,那还是就走索引嘛,要让order by后面的走索引,单独给order by后面的字段创建了索引,但是查询也没用啊,还是依然的慢

又想到有个网友说了,order by后面跟主键

好吧,我这个不可能跟主键啊,我试着跟了一下主键在后面

查询确实快了,但是这个查询的结果不是我想要的

怎么办呢

主键吧,就是唯一索引,是吧

那么如果我创建一个符合索引,把order by后面的字段和主键一起创建复合索引怎样?

试了下,哈哈,很高兴成功了。

查询从12秒变0.0几秒了,快了几百倍吧。

至此问题结束,

那么怎么解决的呢

还是就是给order by 后面的字段创建索引,创建的是含有主键的复合索引

另外count语句慢的时候,在count里加一个where 条件的字段,效果也很好。

————正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)——————–

转载请注明本文标题和链接:《oracle分页查询缓慢的情况》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231743.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号