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


相关推荐

  • HDU 3415 Max Sum of Max-K-sub-sequence(单调队列)

    HDU 3415 Max Sum of Max-K-sub-sequence(单调队列)

    2022年1月12日
    46
  • Oracle数据库备份与恢复方案

    Oracle数据库备份与恢复方案任何数据库在长期使用过程中,都会存在安全隐患。对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制。当任何人为的或是自然的灾难一旦出现,而导致数据库崩溃、物理介质损坏等,就可以及时恢复系统中重要的数据,不影响整个单位业务的运作。然而如果没有可靠的备份数据和恢复机制,就会带来系统瘫痪、工作停滞、经济损失等等不堪设想的后果。本文以ORACLE数据库为例,结

    2022年7月14日
    34
  • Java8数组和List相互转换

    Java8数组和List相互转换使用Java1.8中的循环转换数组为List,代码: privateListarrayToList(T[]objects){ returnStream.of(objects).map(object->{ returnobject; }).collect(Collectors.toList()); }

    2022年8月23日
    7
  • 面向对象进阶

    面向对象相关内置函数isinstance判断一个对象是否是一个类中的对象issubclass判断一个类是否是类中的子类返回布尔值反射反射的概念所谓的反射其实就是用字符串类型的名字去操作

    2022年3月29日
    42
  • vim 命令备忘

    vim 命令备忘

    2021年9月8日
    61
  • PyPDF2模块[通俗易懂]

    PyPDF2模块[通俗易懂]1、PdfFileReader构造方法:PyPDF2.PdfFileReader(stream,strict=True,warndest=None,overwriteWarnings=True)stream:*File对象或支持与File对象类似的标准读取和查找方法的对象,也可以是表示PDF文件路径的字符串。*strict(bool):确定是否应该警告用户所用的…

    2022年6月23日
    31

发表回复

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

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