你可以用rownum限制每次查询返回的记录数量

解决方案 »

  1.   

    you can use cursor and define an counter , when reach the threadholder , you can 
    stop the process or choose whatever you can .
      

  2.   

    利用rownumselect rownum,col1,.... from tb1 where rownum<100;
      

  3.   

    select * from table_name  where 条件 and rownum <数字
      

  4.   

    利用WEB分页技术,参见:
    http://www.cnoug.org/bin/ut/threaded_show.cgi?tid=38&h=1&bpg=1&age=0
    希望对你有帮助
      

  5.   

    我所要查询的内容,必须对要查询的表进行全部检索,得出的结果集才是正确的!!比如A表有100万条记录
    B表有200万条记录!!
    下面的语句:
    select a.a1,b.b1,b.c,b.d from a,b where a.a1 = b.b1
    就针对上面的SQL语句,当我执行很长时间没有返回结果集,服务器一直在忙着做这个工作,我想现在中断它,不让它继续查询,并返回当前已经查询出来的结果集,我应该怎么做?
    rownum并不适合我做的查询!!!
    很急,希望大家帮个忙!!!
      

  6.   

    没有办法了。
    你只有在查询上做优化工作了。
    或者你使用cursor来做。
      

  7.   

    不知道你的a1,b1是否是number型,是否有一定的规律?如果有你可以每次指定a1或b1的范围进行
    分次查询。
      

  8.   

    做优化吧
    a.a1,b.b1建立索引了吗?或者建立分区表
      

  9.   


    在oci中oracle支持部分结果集提交
    在pl/sql develop可能就是这样实现的
      

  10.   

    select * from table_a where rownum<100
      

  11.   

    先用view
    得到结果集
    然后再对结果集按规律分区,
      

  12.   

    select a.a1,b.b1,b.c,b.d from a,b where a.a1 = b.b1需要先遍历a,b表,然后通过where条件,返回结果集,
    也就是说需要遍历a,b表,才能返回结果
      

  13.   

    我有两种方法仅供参考:
    1、就是楼上几位所说的用ROWNUM来控制要返回的行业;
    2、就是分析你的业务需求,将大量的数据先划分范围再查询,在查询过程中尽量用一些临时表,这样可能分比较简单一点;