`

oracle 分页sql 语句比较

 
阅读更多

说说oracle分页的sql语句,分排序和不排序两种。

 当结果集不需要进行排序时,每页显示条数为:rowPerPage,当前页数为:currentPage

 1 相对来说,这种查询速度会快一些,因为当currentPage小时,嵌套语句查询的结果集小。但当currentPage 变大时,查询速度会慢慢变慢。当结果集很大时,查询第一页跟最后一页的速度会有明显变化。(倾向用这种!)

Java代码

select * 

from (  

select rownum r,  field1,field2 

from table_name 

where rownum <= currentPage * rowPerPage

)   

Where  r > (currentPage-1) * rowPerPage   

select * from(

select rownum r,  field1,field2 from table_name where rownum <= currentPage * rowPerPage

)

where r > (currentPage-1) * rowPerPage

 2、相对来说,这种查询速度会慢一些,无论当currentPage大小,嵌套语句查询的结果集都是一样多的,都是整个结果集。但是,当结果集很大时,查询第一页跟最后一页的速度不会有明显变化。

  Java代码  

select *

from   ( 

       select rownum r,  field1,field2

       from table_name  

    )  

where r  > (currentPage-1) * rowPerPage

and  r <= currentPage * rowPerPage 

select * from(

select rownum r,  field1,field2 from table_name

)

where r  > (currentPage-1) * rowPerPage  and  r <= currentPage * rowPerPage

当需要进行排序时,以第一种方式进行示例如下:

 Java代码  

select *

from    ( 

    select rownum r, a.*

    from ( 

        select  field1,field2

        from table_name

        order by field1  

    ) a

    where rownum <= currentPage * rowPerPage 

)

where r > (currentPage-1) * rowPerPage   

select * from(

select rownum r, a.* from (

select  field1,field2 from table_name order by field1

) a where rownum <= currentPage * rowPerPage

) where r > (currentPage-1) * rowPerPage

分享到:
评论

相关推荐

    Oracle Sql语句转换成Mysql Sql语句

    本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...

    oracle sql分页语句

    Oracle SQL分页语句是数据库查询中的一个重要概念,它允许我们从海量数据中按需获取特定范围的结果,比如第一页、第二页等。在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、...

    数据库分页SQL语句实现

    本文将详细介绍三种主流数据库(SQL Server、MySQL和Oracle)中的分页SQL语句实现方法。 #### SQL Server 的分页SQL语句实现 SQL Server 支持通过`TOP`关键字来实现分页查询。具体实现方式如下: 1. **查询第M页...

    几条常见的数据库分页SQL 语句

    几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。

    oracle的 分页sql语句

    ### Oracle 分页 SQL 语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见的需求之一,特别是在大数据量的情况下,通过分页技术可以有效地提高系统的响应速度和用户体验。Oracle 数据库提供了多种方式进行...

    jdbc 分页 sql语句

    ### JDBC分页SQL语句详解 #### 一、引言 在数据库操作中,分页查询是非常常见且重要的一个功能。对于大型应用而言,一次性加载大量数据不仅会消耗过多资源,还可能导致用户体验下降。因此,合理地进行分页处理显得...

    用ORACLE的SQL语句实现多栏分页输出

    用ORACLE的SQL语句实现多栏分页输出.RTF

    数据库真分页SQL语句

    例如,在SQL Server中,获取第10页,每页显示10条记录的真分页SQL语句可能如下: ```sql SELECT * FROM ( SELECT *, ROW_NUMBER() OVER(ORDER BY SomeColumn) AS RowNum FROM YourTable ) AS TmpTable WHERE...

    分页SQL语句

    SQL Server 、MySQL 、Oracle数据库分页SQL语句

    oracle 分页语句

    本文将详细介绍一个特定的Oracle分页查询语句:“`select * from (select a.*,rownum rn from (select * from tablename) a where rownum) where rn&gt;2`”,并对其背后的原理进行深入探讨。 #### 分页查询语句解析 ...

    Oracle常用SQL语句复习

    本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...

    Oracle的sql语句练习题及参考答案

    在“Oracle的SQL语句练习题及参考答案”中,我们很可能会遇到各种与`SELECT`语句相关的练习,这是SQL中最基础且最重要的部分。 `SELECT`语句用于从数据库中检索数据,其基本语法结构如下: ```sql SELECT column1,...

    SQL Server 存储过程及Oracle SQL语句分页

    而Oracle的分页SQL语句更为简洁,适合在不支持存储过程或者简单场景下使用。但需要注意的是,Oracle的`ROWNUM`方式在处理有序数据时可能会有性能问题,因为`WHERE ROWNUM`条件可能无法充分利用索引。 在实际应用中...

    oracle经典sql语句练习题和答案

    Oracle SQL是数据库管理和数据查询的重要工具,特别是在Oracle数据库系统中,掌握高效的SQL语句编写技巧至关重要。本资源“oracle经典sql语句练习题和答案”提供了在scott用户下的两个典型表格——emp(员工表)和...

    oracle一条sql语句分页

    这种分页方式非常实用,适用于大多数Oracle分页场景。 #### 3. 高级技巧与注意事项 - **子查询优化**:由于上述方法涉及多层嵌套查询,对于大型表来说可能会导致性能问题。一种改进的方法是使用`FETCH FIRST n ...

    Sql语法转换为Oracle语法

    标题“Sql语法转换为Oracle语法”涉及到的主要知识点是SQL Server与Oracle数据库之间的SQL语句转换。这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的...

    Oracle数据库SQL语句的性能优化.pdf

    总结,Oracle数据库SQL语句的性能优化是一个涉及多方面知识的综合过程,包括索引策略、查询优化器使用、子查询与连接优化、分页查询、存储过程设计、资源管理、SQL语句重构以及利用各种内置工具进行监控和调优。...

    Oracle的分页查询语句 Oracle分页的存储过程

    本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询语句通常遵循一个标准格式,如下所示: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A WHERE ...

    oracle-jdbc分页实现(只需传入sql语句即可实现分页)

    该示例可能是通过传递SQL语句,结合Java代码处理ROWNUM或者使用其他高级分页方法来实现分页功能。记得在使用时注意SQL注入的安全问题,考虑性能优化,如使用绑定变量,避免全表扫描等。 总之,Oracle JDBC分页实现...

    用SQL语句实现分页(Oracle版Sql Server版)

    ### 使用SQL语句实现分页(Oracle与SQL Server版本) #### 一、Oracle数据库分页实现 在Oracle数据库中,实现分页查询主要依赖于`ROWNUM`这一特殊功能。`ROWNUM`是一个伪列,它为结果集中的每一行分配一个唯一的...

Global site tag (gtag.js) - Google Analytics