如果一个数据库数据量非常大,如何根据需要每一次只加载指定个数的记录

解决方案 »

  1.   

    读取前面1000条:select top 1000 * from tableName
      

  2.   

    不可能。
    我的一个表,286万条记录。读top 1000 * 或top 10000 * 时都是很快的,但读select * 时用时3分钟。可能和服务器也有点关系,但1000条和上百万条之间肯定有差别。
      

  3.   

    可以使用存储过程的方法,将数据按照某一个指定的顺序进行排序,然后动态编一个顺序,第一次读1*n,第二次读序号>1*n并且序号<=2*n,第m次读序号>(m-1)*n并且序号<m*n的数据,可能比较快一些。据说oracle在查询时会自动加一个序号的。