分解处理,用返回固定的记录条数来处理,分页的方式来处理,假设每页取10W行,分10次查询! 在Oracle数据库中需要结合ROWNUM来完成,可以用如下方法来实现,如要取按ROWID排序的5000到10000之间的记录 SELECT * FROM vehicle WHERE ROWNUM<10001 minus SELECT * FROM vehicle WHERE ROWNUM<5001; 如果需要按照某字段排序来查询,如,按制造商Make来排序,就需要用到子查询,性能就会有明显的影响 SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<10001 minus SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<5001;
毕竟存储过程里也就是一个select
在Oracle数据库中需要结合ROWNUM来完成,可以用如下方法来实现,如要取按ROWID排序的5000到10000之间的记录
SELECT * FROM vehicle WHERE ROWNUM<10001 minus SELECT * FROM vehicle WHERE ROWNUM<5001;
如果需要按照某字段排序来查询,如,按制造商Make来排序,就需要用到子查询,性能就会有明显的影响
SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<10001 minus SELECT * from (SELECT * FROM vehicle order by make) WHERE ROWNUM<5001;