1.
根据
ROWID
来分
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.按分析函数来分
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最差
SELECT *
FROM (SELECT a.*,
rownum rn
FROM (SELECT *
FROM oc a
ORDER BY k001) a
WHERE ROWNUM <= 20)
WHERE rn >= 10 AND rn < 20;
--此处之所以在外面包了一层,是因为 ROWNUM不能像rn一样加条件,只有用里面 SQL检索出的结果集才能分页
SELECT b.*
FROM (SELECT *
FROM (SELECT a.*,
rownum rn
FROM (SELECT ROWID rid,
status
FROM product a
WHERE company_id = ?
ORDER BY status) a
WHERE rownum <= 20)
WHERE rn > 10 ) a,
product b
WHERE a.rid = b.rowid;
--用rowid的方式分页效率比单纯用 rownum的效率要高
另外加一条:
Oracle中复制一张表
create table table_name as ( select * from table )
分享到:
相关推荐
oracle分页查询语句sql
ORACLE分页查询SQL语法,学学习习。学习
oracle分页查询并返回总记录数据的存储过程
Oracle的SQL分页实践
java实现oracle分页策略完整版,可当做参考类使用,有详细注释,适合初学者。
Oracle分页SQL,3种分页SQL方法比较
mysql,oracle,sql server分页总结与比较
本文实例汇总了Oracle实现分页查询的SQL语法,整理给大家供大家参考之用,详情如下: 1.无ORDER BY排序的写法。(效率最高) 经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响...
本文将结合作者近日工作中,在ORACLE数据库分页查询时,遇到一个小问题,为大家讲解如何解决Oracle分页查询中排序与效率问题。
oracle分页查询,以及用java、asp.net调用存储过程的示例。 pl/sql测试包内带结果集的存储过程示例。
Oracle 分页存储过程 SQL Oracle 分页存储过程 SQL
Oracle中实现分页查询的SQL命令 //curPage是当前页面,pageCount是每页显示行数 //rownum是伪列,相当于表中每一列的标识列(可以理解为行号),需要显式的提取出来并取一个别名
通过SQL 查询分析器,显示比较:我的结论是: 分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句 分页方案一:(利用Not In和SELECT TOP分页) 效率次之,需要拼接SQL语句 分页方案三:(利用...
用于oracle,mysql,sqlserver,数据库分页联合查询
Oracle分页(limit方式的运用)Oracle分页(limit方式的运用)
用ORACLE的SQL语句实现多栏分页输出.RTF
SQL Server 存储过程及Oracle SQL语句分页
NULL 博文链接:https://yan578351314.iteye.com/blog/911307
行式引擎按页取数只适用于Oracle,mysql,hsql和sqlserver2008及以上数据库,其他数据库,如access,sqlserver2005,sqlite等必须编写分页SQL。今天我们以Access数据库为例介绍需要写分页SQL的数据库怎样利用行式的...