oracle11g分页优化,rowid和rownum的性能比较,解决越往后数据查询越慢的问题
2015-11-02 16:51
836 查看
也就是使用延迟加载的策略:
先看看数据量,100万+的数据:
再看看使用传统rownum分页的情况,没有使用排序,因为排序在大数据量下会造成全表扫描的情况!
oracle11g使用模糊查询%%,查询优化器一般情况下会选择使用索引,极端情况没有测试!这里在查询第一页的数据的时候耗时0.172秒!各列索引都已使用!
使用rowid查询第一页的数据:
查询第一页使用了0.031秒,其实差不多,如果求均值,两种方法在查询第一页数据的时候差距应该很小!
下面看看在页码很大的情况下的对比:
使用传统rowNum:
使用rownum 在页码向后的情况下,时间已超过4秒!
使用rowid:
同样情况下,rowid只耗时0.312秒,情况已经很明显!
先看看数据量,100万+的数据:
再看看使用传统rownum分页的情况,没有使用排序,因为排序在大数据量下会造成全表扫描的情况!
oracle11g使用模糊查询%%,查询优化器一般情况下会选择使用索引,极端情况没有测试!这里在查询第一页的数据的时候耗时0.172秒!各列索引都已使用!
使用rowid查询第一页的数据:
查询第一页使用了0.031秒,其实差不多,如果求均值,两种方法在查询第一页数据的时候差距应该很小!
下面看看在页码很大的情况下的对比:
使用传统rowNum:
使用rownum 在页码向后的情况下,时间已超过4秒!
使用rowid:
同样情况下,rowid只耗时0.312秒,情况已经很明显!
相关文章推荐
- oracle连接问题【转载】
- oracle中创建job的用法(定时执行数据库)
- Oracle创建库
- Oracle的(+),||
- Oracle数据库SqlLoad常用技巧总结
- 初学Oracle学习笔记之Oracle常见操作总结
- Oracle数据库ORA-01940: 无法删除当前已连接的用户
- Oracle与DB2数据存储模式的区别详解
- Oracle临时表和SQL Server临时表的不同点对比
- Oracle学习经验谈
- Oracle内存数据仓库Exalytics
- Oracle发布NoSQL数据库
- Oracle数据库查询高效分页
- Oracle自治事务实例讲解
- Oracle 12c RMAN 功能增强
- Oracle称其最新内存数据库比对手快100倍
- 一句话为你解读Oracle数据库选件
- 通过Oracle来辅助MySQL数据问题的恢复
- oracle删除表空间
- Oracle RAC 环境下的连接管理