`
风火山林
  • 浏览: 147029 次
  • 性别: Icon_minigender_1
  • 来自: 汕尾
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle分页函数写法总结

 
阅读更多

1.根据ROWID来分<!--more-->
 
select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid from 
t_xiaoxi  order by cid desc) where rownum<10000) where rn>9980) order by cid desc; 
 

 
执行时间0.03秒
2.按分析函数来分(over)
 
select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980; 
 

 
执行时间1.01秒
3.按ROWNUM来分
 
select * from(select t.*,rownum rn from(select * from t_xiaoxi order by cid desc) t where rownum<10000) where 
rn>9980; 
 

执行时间0.1秒
其中t_xiaoxi为表名称,cid为表的关键字段,取按CID降序排序后的第9981-9999条记录,t_xiaoxi表有70000多条记录
个人感觉1的效率最好,3次之,2最差  

分享到:
评论

相关推荐

    Oracle的SQL分页实践

    为了解决这个问题,Oracle 10g引入了新的功能:ROW_NUMBER()函数,配合子查询和WITH子句(即CTE,公共表表达式)可以实现更高效的分页: ```sql WITH ordered_data AS ( SELECT t.*, ROW_NUMBER() OVER (ORDER BY ...

    Oracle分页查询(很不错的介绍)

    首先,理解Oracle分页查询的基本结构。通常,Oracle的分页查询采用嵌套查询的方式实现。以下是一个典型的分页查询模板: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A ...

    分页代码Oracle

    总结来说,Oracle数据库中的分页代码实现主要涉及到SQL查询的编写,以及在Java后端如何处理这些查询。理解分页的基本原理和Oracle提供的函数,结合实际编程环境,可以有效地实现高效、灵活的分页功能。对于初学者而...

    oracle分页操作

    如果需要分页并按特定顺序返回结果,应该结合`ROW_NUMBER()`函数和`OVER()`子句来实现,但这超出了当前讨论的范围。 总的来说,Oracle的分页查询是一个涉及查询优化、连接策略和伪列运用的复杂话题。正确使用分页...

    Oracle分页查询

    ### Oracle分页查询详解 #### 一、Oracle分页查询基础 在Oracle数据库中,实现分页查询是一项常见的需求,特别是在处理大量数据时。本文将详细介绍Oracle中的分页查询技术,帮助初学者快速掌握这一技能。 #### 二...

    oracle的伪列与分页

    3. **分页查询的另一种写法**: ```sql SELECT USRID, GRPID, UNAME, SAL, BRITH FROM ( SELECT A.*, ROWNUM AS RN FROM (SELECT * FROM T_USER ORDER BY USRID) A WHERE ROWNUM ) WHERE RN ; ``` 上述...

    Oracle分页查询的实例详解

    以下是对Oracle分页查询的实例详解: 1. **Oracle分页查询基础** Oracle分页查询通常通过ROWNUM伪列来实现。ROWNUM在查询时为每行分配一个唯一的数字,从1开始递增。在分页查询中,我们可以利用ROWNUM限制返回的...

    oracle 分页问题解决方案

    在上述问题中,开发者遇到了一个典型的Oracle分页查询问题,即在查询第4页及以后的数据时,结果重复。以下是这个问题的详细分析和解决方案。 首先,原始的分页查询SQL使用了嵌套子查询,并在外部查询中应用了`...

    DB2、ORACLE SQL写法的主要区别

    DB2、ORACLE SQL写法的主要区别 1、数据类型转换函数 2、Where条件弱类型判断 3、replace关键字 4、子查询别名 5、DATE数据类型的区别 6、分页的处理 7、decode函数 8、NVL函数 9、substr的不同 10、获取操作系统...

    Sql语法转换为Oracle语法

    9. 函数和内置操作:例如,SQL Server的 `CONVERT()` 函数在Oracle中可能是 `TO_CHAR()` 或 `TO_DATE()`。 10. 日期格式:SQL Server和Oracle默认的日期格式不同,转换时需要考虑日期字符串的格式化问题。 在...

    Oracle到mysql转换的问题总结.doc

    - Oracle的窗口函数`ROW_NUMBER() OVER(PARTITION BY ... ORDER BY ...)`, MySQL无直接对应,可使用用户变量模拟实现。 - Oracle的`ROWNUM`行号在MySQL中需要通过用户变量或自连接实现分页效果。 转换时,需要...

    Oracle到mysql转换的问题总结要点.doc

    - Oracle的`NEXTVAL`函数在MySQL中可通过自定义函数或`LAST_INSERT_ID()`实现类似功能。 4. **翻页查询**: - MySQL使用`LIMIT`关键字进行分页,如`LIMIT m, n`,从第m+1条开始取n条数据。 5. **函数转换**: -...

    Oracle到mysql转换的问题总结[收集].pdf

    在将Oracle数据库转换为MySQL的过程中,开发者可能会遇到一系列与数据类型、SQL语法和函数差异相关的问题。以下是对这些差异的详细说明: 1. **数据类型转换**: - `NUMBER(p,s)`在Oracle中用于存储浮点数,而...

    Oracle与MySQL的几点区别

    这样的写法在MySQL中是有效的,但在Oracle中则可能会导致错误。因此,在Oracle中使用别名时需要特别注意这一点。 #### 四、分页查询的实现方式 在实际应用中,分页查询是非常常见的需求。MySQL和Oracle在这方面的...

    Oracle与Mysql主键、索引及分页的区别小结

    除了以上提到的区别,还有其他一些因素需要考虑,比如Oracle支持更多的索引类型(如函数索引、位图索引等),而MySQL更适合轻量级应用和快速开发。在实际应用中,选择哪种数据库系统取决于具体的需求、性能要求以及...

    ORACLE高效SQL书写规范

    翻页查询时,使用`ROWNUM`或`OFFSET`/`FETCH`等方法来实现分页,以减少不必要的数据检索。 **3-11、MERGE的使用** `MERGE`语句可以高效地更新或插入数据,特别适用于需要根据条件更新或插入的场景。 **3-12、多表...

    DB2、ORACLE

    - Oracle的DECODE函数在DB2中不支持,可以使用CASE WHEN语句替代,如`SELECT CASE WHEN f_areaid IS NULL THEN '空' ELSE f_areaid END FROM masa_user`。 7. **NVL函数**: - Oracle的NVL在DB2中需要使用...

Global site tag (gtag.js) - Google Analytics