这是延续很久的问题了

项目使用的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分页查询缓慢的情况》

oracle分页 慢,oracle分页查询缓慢的情况相关推荐

  1. oracle+分页很慢,oracle分页查询缓慢的情况

    这是延续很久的问题了 项目使用的Oracle,一百多万数据,分页显示10条,高配服务器显示首页都要10秒以上,配置差的服务器要好几十秒,实在无法忍受,还不如 mysql的速度 前前后后多次想对这个进行 ...

  2. 记Oracle regexp_substr 一拆多查询缓慢sql优化

    需求简化描述: Oralce 一条数据按照特定格式拆分成多行数据 如:1:2:3 拆分成: 1 2 3 源数据如图: 最开始我是这么写的 SELECT DISTINCTREGEXP_SUBSTR( h ...

  3. Oracle常用语句:分页查询语句的写法

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用. ...

  4. oracle分页查询加总数,oracle count 百万级 分页查询记要总数、总条数优化

    oracle count 百万级 分页查询记录总数.总条数优化 oracle count 百万级 查询记录总数.总条数优化 最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次 ...

  5. c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询

    /**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...

  6. oracle 大数据量分页查询

    (一)分页实现及性能 Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SEL ...

  7. Oracle分页为什么采用三层查询

    Oracle分页为什么采用三层查询 原始表数据如下 ID NAME AGE ADDRESS 1 嗨一 18 北京 2 王二 20 南京 3 麻子 22 西凉 4 太君 24 东京 5 华子 26 纽约 ...

  8. MySQL 和 Oracle 大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  9. Oracle与MySQL的分页查询sql语句格式

    Oracle Oracle使用rownum进行分页,rownum是从1开始的: select * from (select rownum as rn, a.* from table_name a wh ...

最新文章

  1. 二维码Data Matrix编码、解码使用举例
  2. oracle 查看表是否被锁
  3. ps原始数据清理脚本_创建地形模型一步到位!PS最新2019全球首款3D地形生成插件送给你...
  4. SharePoint无代码工作流设计开发实例——交通费报销流程(一)
  5. markdown 流程图_测试了12款Markdown编辑器,推荐一个最好用的!
  6. boost互斥锁_boost锁使用总结
  7. httpclient 不支持国密ssl_关于国密HTTPS 的那些事(三)
  8. php怎么把数组索引,如何在php中获取数组索引号?
  9. 创建二叉树的代码_解二叉树的右视图的两种方式
  10. Mysql的key_len计算方法
  11. 三星app图标不见了怎么恢复_手机便签的内容不见了怎么恢复?试试这款便签软件的时间轴功能...
  12. 使用ASP.NET快速开发平台,获得表单源码,用珍藏资料换来的代码生成器!
  13. 好嗨游戏:20款最好玩的运动游戏:足球、篮球、网球等等(上)
  14. android studio白屏,首次集成到Android studio的工程运行起来就是白屏
  15. BZOJ 2429: [HAOI2006]聪明的猴子
  16. 【无标题】PHP小皮中出现拒绝访问(使用密码:YES)
  17. Offset commit failed with a retriable exception. You should retry committing the latest consumed off
  18. Lenovo X61鸟枪换炮之更换大硬盘
  19. Metasploit联动CobaltStrike渗透win11主机并提权
  20. Python的10大集成开发环境和代码编辑器(指南)

热门文章

  1. 美团收购摩拜揭示了共享单车行业的残酷现实
  2. 公网和私网ip地址范围
  3. yys刷御魂 opencv2——python入门练习
  4. 佛是万能的,也有四种不能
  5. Ubuntu安装eigen以及相应环境变量的配置
  6. 搞个这样的APP要多久?
  7. RiproV2主题首页中间网站动态栏美化教程
  8. 微信扫描二维码关注公众号并成为下级
  9. 验证视图状态 MAC 失败,配置machineKey
  10. 卫龙赴港上市:产品结构单一、多元化收效甚微、垃圾食品标签难撕