select 是集合操作,而fetch是单条纪录的操作,当然慢了
像l_kaifeng(江南大哥) 说的少用游标.没有办法的时候再用游标.
最好用delete,select,update解决.

解决方案 »

  1.   

    但是在select时我总不可能一次全部获取完吧????
    例如geometry是 mdsys.sdo_geometry 类型
    select geometry from table where mdsys.sdo_filter(..)
    这时geometry有上万行,我该怎么获取?????
      

  2.   

    按理说在查询上应该没有什么优化的余地了,查询速度已经是很快了。
    是否在建表和索引时的storage的设置对fetch影响很大
      

  3.   

    游标也是全都取过来的,和select语句一样的
    不过你可以根据一定的条件来取,据个例子吧,
    如果你的字段有个id int型的,你可以先select2000个,然后一次再
    select 2000-4000,select 4000-6000.....等等。这只是一个例子,具体情况看你的表的
    情况了,用什么字段都可以,只要能分段取出即可。