表中记录太多,一次不能全部装入本地机器内存。想每次取一定数量的记录,用rownum可以嘛?怎么写语句?
解决方案 »
- 请大家帮忙推荐一本Oracle的经典的入门书
- 如何实现oracle用存储过程将一张表的几个字段的数据导入到另一张表?急
- Oracle里字段长度200,实际却有756,我select又查不到,请问什么原因
- Oracle监听是否可以通过SQL来查询
- 想要将Oracle数据转成Excel文件
- 如何在Oracle中读写XML文件
- 怎样在程序中获得dbms_output.put_line('')的输出
- imp执行时提示无法转换字符集从850到853。是什么原因?
- 我的数据库有一个表查询速度特别慢,如何处理-在线等。
- Oracle数据库JDBC连接出现的问题: java.net.ConnectException: Connection refused: connect
- 怎样让一个用户能够truncate 某个表?
- 请教表类型数组问题,急!!!!!!!!!!!
select * from (select rownum rowid,a.* from tbname a) where rowid between 50 and 100
minus
select * from table where rownum < n;
select * from (select rownum rowid,a.* from tbname a) where rowid between 50 and 100
>> 你不知道rowid是oracle的保留字吗?你自己测试一下先
select * from table where rownum <= m
minus
select * from table where rownum < n;
比
select * from (select rownum r,a.* from tbname a) where r between m and n
快。前者对表扫描次数比后者少。
楼主说,表中的纪录太多,所以在大数据量时尤其应该考虑相应时间。所以,本人支持前者。
自己先做一个explain plan再下结论