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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7系统更新命令_centos 更新

    centos7系统更新命令_centos 更新1.查看网络IP ifconfig2.下载命令 wget+网址3.安装 yum-y install + 目标4.删除文件 sudo rm 文件所在目录/目标强制删除文件 rm -f删除目录 rm -rf5.复制一个文件到另一个文件夹sudo cp /文件夹/文件 /另一个文件夹6.对一些文件进行读写sudo vim 文件名7….

    2022年8月19日
    8
  • 倍增Floyd「建议收藏」

    倍增Floyd有这样的一道题:给定一张图,求其中恰好经过mm条边的路径的长度最小值。(n<=200,m<=109)(n<=200,m<=10^9)对于这种题型,可以使用倍增Floyd求解。由于Floyd算法的奇特性质:每次加入一个点进行更新。如果我们把它改写为:for(inti=0;i<=n;i++)for(intj=0;j<=n;j++)for(intk=

    2022年4月9日
    44
  • 学习方法

    学习方法

    2021年8月17日
    52
  • 从Gauss-Newton算法到 LM算法 (详细推导及MATLAB实现、多自变量问题)

    从Gauss-Newton算法到 LM算法 (详细推导及MATLAB实现、多自变量问题)Gauss Newton 算法 MATLAB 实现结果回顾算法实现总结结果回顾 Gauss Newton 算法对 Gauss newton 算法做了详细的解释 并且使用 C 做了实例程序 但是程序其实有微小错误 实际的坐标并不是年代 1815 1885 而是 1 8 否则 p A exp B t p A exp B t p A exp B t 拟合时将会迅速增大 也得不到 A 0 7A 0 7A 0 7

    2025年12月5日
    6
  • 80×86汇编小站站长简单介绍

    80×86汇编小站站长简单介绍[人生格言]1]一生都用头脑而不是情绪解决这个问题2]仅仅有偏执狂才会成功3]在最困难时都要保持一份幽默感4]吾生也有涯,而知也无涯,以有涯随无涯,殆已[简历]我的生日:1981.XX.XX

    2022年7月2日
    20
  • html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」

    html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」这里向大家描述一下DIV滚动条属性及样式设置,所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。DIV滚动条属性及样式设置所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。其功能大…

    2022年7月12日
    50

发表回复

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

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