当前位置:首页 > 日记 > 正文

oracle分页查询性能优化代码详细解决方案

oracle分页查询性能优化代码详细解决方案
对于Web显示数据库中的数据,如果不需要显示订单,并且因为有这么多记录满足要求,我们就不得不分页数据。通常用户对所有数据不感兴趣,或者在大多数情况下,他们只查看前几页。
以下两种分页技术通常可用。
选择*(从
行号RN,T T)从表
在RN和RN <= > minnum maxnum
也许
选择*(从
行号RN,T *表t rownum <= maxnum)
在RN > minnum
看似相似的分页语句在响应速度上非常不同。
SQL >创建测试表为SELECT * FROM dba_objects;
并重复插入相同的数据。

从测试中插入到测试选择*;

最后,查询表,您可以看到表的记录数大约是80万。
从测试中选择计数(*)
计数(*)
----------
八十三万一千一百零四
现在,在第一种分页方法中,分别使用了两种分页方法:
选择*(从
2行号RN,T * T)测试
3,RN>0,RN=50;

已经选了50行。
所用时间:00:00:1.03

执行计划
----------------------------------------------------------
0选择语句优化器=选择(成本= 10卡= 65字节= 12350)
10视图(成本= 10卡= 65字节= 12350)
21计数
32访问表(全)of'test(成本= 10卡= 65字节= 5590)

统计
----------------------------------------------------------
0递归调用
0分贝块得到
10246一致的获取
0物理读
0重做日志大小
......
正如您所看到的,在这种方法的第一页上有10246个一致性读取,结果是满意的,但如果使用第二种方法,效率很低:
选择*(从
2行号RN,T * T检验
3在rownum <= 50)
4,RN>0;

已经选了50行。
所用时间:00:00:1

执行计划
----------------------------------------------------------
0选择语句优化器=选择(成本= 10卡= 50字节= 9500)
10视图(成本= 10卡= 50字节= 9500)
21计数(stopkey)
32访问表(全)of'test(成本= 10卡= 65字节= 5590)

统计
----------------------------------------------------------
0递归调用
0分贝块得到
82一致的获取
0物理读
0重做日志大小
......
我们得到了相同的结果,一致性读只有82,从上面的例子可以看出,通过引入行号为二层,却得到了一个完全不同的执行计划,注意在stopkey执行计划,这是一个新的操作8I介绍,具体优化的前N要求操作提取。
从上面的例子,我们可以再想想,因为stopkey功能影响分页的一致性,以及页面阅读数,它会减慢页面吗事实是正确的,例如:
选择*(从
2行号RN,T * T检验
3在rownum <= 10000)
4,RN>9950;

已经选了50行。
所用时间:00:00:1.01

统计
----------------------------------------------------------
0递归调用
0分贝块得到
2616一致的获取
0物理读
0重做日志大小
......
当您选择后面的数据时,逻辑读取开始增长,并且在最后几页被选中时,一致性读与上面的类似。
选择*(从
2行号RN,T * T检验
3在rownum <= 800000)
4,RN>799950;

已经选了50行。
所用时间:00:00:1.03

统计
----------------------------------------------------------
0递归调用
0分贝块得到
10242一致的获取
0物理读
0重做日志大小
......
幸运的是,大多数用户只从5%个数据开始,但对最后一个数据不感兴趣。通过第二种改进的分页技术,可以快速方便地显示前端数据,不使用户感觉慢。

总结

这是本文的全部内容,关于oracle分页查询性能优化代码,希望能对您有所帮助。欢迎大家看到其他相关主题的站,什么问题可以留到随时留言,小编辑会及时回复您。

相关文章

6的新功能,如(类)和继承(扩展)的相关概

6的新功能,如(类)和继承(扩展)的相关概

继承,扩展,新功能,电脑软件,本文阐述了概念和新功能,使用6(类)和继承(扩展),分享给您参考,如下: 1。类(类) 1。基本语法 Javascript语言的传统方法是通过构造函数定义和生成新对象。 函数点(x,y){ 这个; 这个,y = y; } (point.prototype.tostring =功能){ 返回(+,+…

oracle数字类型自增码的实现

oracle数字类型自增码的实现

数字,自增,类型,电脑软件,oracle,废话没多说,直接给大家粘上代码,具体代码如下所示: 创建一个序列 创建序列seq_student 从6开始 增量的1 Maxvalue 500 nominvalue nocycle 非缓存; 创建一个触发器 创建触发器trigger_student 插入学生之前 每…

什么输入法图标不做赢10(溶液)

什么输入法图标不做赢10(溶液)

图标,输入法,不做,溶液,电脑软件,问题: 在windows10系统桌面右下角的输入法图标不能被发现。如何推出 答案uff1a 在输入法图标赢10丢失,并参照以下方法。 打开控制面板系统;,然后打开控制面板;区域和语言设置,打开设置窗口,选择语言;,在打开的窗…

Windows没有足够的信息来验证证书(

Windows没有足够的信息来验证证书(

证书,解决方案,验证,没有足够,电脑软件,问题: 打开IE浏览器Internet选项>内容>,双击证书;我的证书正常按钮;证书信息显示;Windows没有足够的信息来验证此证书。Rdquo(如下所示) 答案uff1a 证书信息显示:Windows没有足够的信息来验证证书。这表明…

计算机的共享文件夹无法访问的错误

计算机的共享文件夹无法访问的错误

错误,无法访问,共享文件夹,溶液,电脑软件,问题: ThinkPad笔记本可以访问Yangtian的桌面共享文件夹,但不能访问共享的台式机、笔记本、文件夹,通过彼此计算机的IP地址,弹出错误,错误代码:0x800704cf错误,无法访问网络位置。不知道发生了什么事无论…

如何删除Word2007在Word2007中的空

如何删除Word2007在Word2007中的空

删除,方法,步骤,空白,电脑软件,发现从网络复制网页和粘贴到Word文档,并发现经常有空行,网络元素,等等。你可以先把文章复制到记事本,把它变成一个纯文本的形式,然后再去的话,然后删除空白行之一。当有很多空行的文档中,这样的操作非常麻烦。下面的…

计算机搜索不能用作文档搜索过滤器

计算机搜索不能用作文档搜索过滤器

搜索,文档,过滤器,解决方案,电脑软件,客户端的计算机打开一个文件夹,然后指向顶部菜单栏;搜索左侧没有普通的搜索框,而是显示文档搜索过滤器(图1),它无法搜索计算机中的文件。 图1 仔细检查,找出原因,在电脑上安装微软搜索助手mdash;mdash;Windows搜…

PS如何手绘彩色图形

PS如何手绘彩色图形

图形,手绘,彩色,电脑软件,PS,萧边无意中看到黑白照片着色的一篇文章,发现很简单的图片很快的和带有图片如下。因此,每个人都是使用各种各样的套索工具,和颜色范围内的选择。明明很简单,是一个很好的颜色,结果都是复杂的。这很可能是小编辑是一个…

照片迅速成为低多边形效果教程面对

照片迅速成为低多边形效果教程面对

教程,照片,多边形,图象,处理软件,最终效果: 主要过程: 1,找张正面照片,效果更明显。 2。使用线性工具来制作类似颜色的多边形。注意:这里是直线下;新层;合并形状;记住! 可以改变线条的颜色,更加明显。 3,用多边形选择工具检查多边形,然后执行过滤-模糊…

微信小程序TabBar不显示解决方案

微信小程序TabBar不显示解决方案

解决方案,显示,程序,电脑软件,微信小,微信小程序TabBar不显示解决方案 页:{ 页 页索引 }, 微信小程序不显示当他们测试TabBar。 我不支持API,直接代码 { 页:{ 页 页索引 }, 窗口:{ backgroundtextstyle 光 navigationbarbackgroundcolor # FFF …

在答题的复仇游戏没有声音。

在答题的复仇游戏没有声音。

声音,游戏,电脑软件,问题: 电脑玩复仇;Dati;比赛时,没有声音,进入系统后,重装系统是没有的,什么是错的 答案uff1a 复仇;Dati;游戏是不健全的,是这个游戏的一个常见的问题,参考下面的方法。 一、openai下载软件,然后安装它。 二,直接删除openal32.dll…

QQ空间是如何在QQ空间谈论时间和说

QQ空间是如何在QQ空间谈论时间和说

空间,说话,方式,时间,如何在,QQ空间是时间说如何释放它,QQ空间也可以发布谈论它,这看起来有点像微博的定时micro-blog.the以下小编辑告诉你QQ空间发送定期的说话方式,希望能对你有帮助! QQ空间的定时与说话方法 进入QQ空间并选择我的主页。 …