`

Oracle分页查询的优化方案

 
阅读更多

今天看到一份资料上有讲到Oracle分页处理时的查询优化方式,其思路是:对于要查询多列数据的一个分页查询语句,可以在内部的Oracle查询rownum时,不查询出所有要需要的列,而是查询一个rowid,再用一个表连接的方式,来查询所需要的列,这样就不会使用太多的*来查询,Oracle的sql语句解析器也就不会在解析sql语句时,消耗更多的资源,例子如下:

一般的查询分页查询方式是:
      SELECT * FROM 
 ( SELECT a.* ,ROWNUM rn FROM       --取得rownum值
   (SELECT t.* FROM dept t ORDER BY t.deptno)a  --查询整表的数据列,并按表某一个字段进行排序 
 WHERE ROWNUM<20) --对rownum大于20的进行过滤
  WHERE rn>2 --对rownum大于2的进行过滤
 
 
现在新的做法是:
SELECT t.* FROM dept t,   --表连接,关联查询
  (SELECT rd FROM ( --取得所有的rowid
SELECT rd,rn FROM 
(SELECT ROWID rd,ROWNUM rn FROM dept ORDER BY deptno) --查询整表rowid和rownum,并按进行排序 
WHERE rn<20) --过滤rownum大于20的数据
  WHERE rn >2) t1 --过滤rownum小于2的数据
  WHERE t.ROWID = t1.rd
分享到:
评论

相关推荐

    oracle分页查询并返回总记录数据存储过程

    ### Oracle 分页查询并返回总记录数据存储过程 在数据库应用开发中,...通过以上介绍,我们可以看到使用存储过程进行分页查询不仅能够有效提高查询效率,还能够简化应用程序的逻辑处理,是一种非常实用的技术方案。

    如何解决Oracle分页查询中排序与效率问题

    Oracle 分页查询优化与排序解决方案 本文主要解决 Oracle 分页查询中排序与效率问题,通过实践和分析,提供了两种解决方案,并对比了两种方法的优缺点。 知识点 1: Oracle 分页查询的基本概念 Oracle 分页查询是...

    解决Oracle分页查询中排序与效率问题

    本篇文章将详细探讨如何优化Oracle分页查询中的排序与效率问题。 #### 一、理解Oracle分页查询的基本原理 在Oracle中实现分页查询通常有两种方法:基于ROWNUM的方法和子查询方法。这里主要讨论的是基于ROWNUM的...

    Oracle分页查询Oracle分页查询

    ### Oracle分页查询详解 #### 一、引言 在数据库应用中,为了提高用户体验以及减少服务器负担,分页查询成为了一种常见的数据检索技术。Oracle作为一种广泛使用的数据库管理系统,支持多种方式进行分页查询。本文...

    Oracle 10g数据库海量数据分页查询优化.pdf

    本文主要介绍 Oracle 10g 数据库中的一种优化的海量数据分页查询解决方案。该方案通过分析传统分页查询技术的不足,融合了多种技术,包括数据库优化策略、SQL 语句优化、游标变量、批绑定、动态 SQL 等,以提高海量...

    java web与Oracle数据的分页功能

    本项目提供的源代码正是针对这一需求,提供了在Java Web环境中利用Oracle数据库实现分页功能的解决方案。 首先,我们来理解一下分页的基本概念。分页是将数据库查询结果分成若干页展示,用户可以逐页浏览,而不是一...

    Oracle查询优化改写-技巧与案例

    10. **SQL优化工具**:介绍Oracle的SQL Tuning Advisor和SQL Access Advisor,以及如何利用这些工具自动识别和建议优化方案。 本书作为DBA和开发人员的参考字典,不仅提供了理论知识,还包含大量的实际案例,帮助...

    oracle 分页类文件

    总的来说,这个分页类文件集合提供了一套完整的解决方案,用于在Oracle数据库上进行分页查询。通过合理的类设计和方法实现,可以简化开发流程,提升代码的可读性和维护性。在处理大量数据时,这样的工具显得尤为重要...

    Oracle 分页存储过程 终极版

    总的来说,"Oracle分页存储过程 终极版"是一个针对大数据量查询优化的解决方案,它通过高效的分页策略和存储过程封装,实现了快速、可控的分页查询,提升了用户体验并减轻了数据库的负载。在实际开发中,这样的工具...

    韩顺平Oracle版的分页查询

    本教程以"韩顺平Oracle版的分页查询"为主题,结合MyEclipse进行Web开发,旨在教授如何在Oracle数据库中实现高效且实用的分页查询。 首先,我们需要理解Oracle中实现分页查询的基本概念。在SQL语句中,通常使用`...

    mySql与oracle分页技术

    总的来说,MySQL和Oracle都提供了有效的分页解决方案,但它们的实现方式有所不同。在设计数据库查询时,需要考虑到数据量、性能和数据库系统的特性,选择最适合的分页策略。对于大型数据集,优化分页查询是非常关键...

    struts2.0 + hibernate + oracle 分页问题

    Oracle还提供了其他高级特性,如游标、索引和物化视图,可以帮助优化分页查询的性能。 在实际开发中,结合Eclipse这样的集成开发环境,我们可以创建项目、配置Struts2和Hibernate的依赖,编写Action、DAO和实体类,...

    oracle分页存储过程千万级

    本文将基于给定的“oracle分页存储过程千万级”文件信息,深入解析其核心概念、设计思路及实现细节。 ### 核心概念解析 #### 1. 存储过程(Stored Procedure) 存储过程是一种预编译的SQL代码块,存储在数据库...

    Oracle分页实现

    总之,Oracle分页查询是数据库操作中一项基础而关键的技能,合理运用并不断优化查询策略,能够在很大程度上提升系统的性能表现和用户体验。通过掌握以上所述的方法和技巧,IT从业者可以更加游刃有余地应对各种数据库...

    oracle 高效分页

    因此,掌握Oracle中的高效分页技术对于优化数据库性能至关重要。 ### 核心概念:ROW_NUMBER()与ROWNUM 在Oracle中,`ROW_NUMBER()`和`ROWNUM`是实现分页查询的两种主要方式。其中,`ROW_NUMBER()`函数是在SQL标准...

    实现分页查询(上)

    4. 分页查询优化:如采用ROW_NUMBER()函数(SQL Server)或RANK()(Oracle)等进行行号排序,减少OFFSET的使用。 五、前端分页实现 前端可以通过JavaScript库(如jQuery、Vue、React等)配合Ajax实现动态分页,通过...

    海量数据库的查询优化及分页算法方案

    ### 海量数据库的查询优化及分页算法方案 在处理海量数据的环境中,数据库的查询优化和分页算法的设计显得尤为重要。本文将基于Oracle数据库,深入探讨如何优化查询性能以及实现高效的分页策略。 #### 标题解析:...

    Oracle真分页。源码

    Oracle数据库在处理大数据量时,分页查询是一个重要的性能优化手段。传统的ROWNUM分页方式在某些场景下可能无法满足需求,特别是在数据量过大或需要跨多行进行排序时,会出现效率低下甚至错误的结果。因此,“Oracle...

    MyFaces Oracle大数据表分页封装.docx

    总结来说,这个文档提供的分页封装方案通过`DataPage`和`PagedListDataModel`实现了对Oracle大数据表的分页处理,使得在JSF应用中可以高效地展示和操作大数据集。同时,需要注意优化查询策略以避免重复查询,提升...

    oracle存储过程通用分页

    Oracle存储过程是数据库管理...总之,Oracle存储过程通用分页是一种优化数据库查询性能、改善用户体验的有效方法。通过理解分页原理,选择合适的分页策略,以及熟练运用存储过程,开发者可以在处理大数据时游刃有余。

Global site tag (gtag.js) - Google Analytics