现在有一个表有几十万数据  每次从其中取出2500条最早创建的进行处理(表中有一列是自动生成的创建时间)  
怎么取数据效率最高
   每次都order by 很慢
   都给点意见 没经验的也给点意见

解决方案 »

  1.   

    1,在创建时间上建立索引;
    2,在查询时使用 hint first_rows
      

  2.   

    同意1楼方案,索引加hint即可解决。
      

  3.   


    增加一列datenum,自动将时间转换成对应的数字,然后在此数字列上加索引倒序排列。每次都是order by datenum,这样不快多了啊?
      

  4.   

    我想楼主的意思不仅是只一次地查找2500条,而是每次取2500条,直接到取完为止..........不知道理解正确不.........楼主指的时间列是DATE格式还是STAMPTIME格式或者 VARCHAR2类型 ,是否可能存在重复...等等相关要考虑.关于为什么要每次取2500条,这个我有疑问,是担心效率问题而每次只取2500条?
      

  5.   


    你理解的很正确  就是每次取2500直到取完为止  时间格式是date 至于会不会出现重复我就不知道了因为是系统自动生成  重复的时候会带来什么危害我也不知道  可不可以跟我详细说说
        至于为什么一次取2500条  是因为数据太多根本不可能一次处理玩  还有就是处理数据的时候往往是在指定的时间段处理  不一定非得是2500  但是不能全取  因为可能不能再指定时间内完成
        在线等你解答