VS2005,处理大数据,数据库一千万行的数据,Access或者SqlServer的,数据文件本身有1G~~
要比较快速的处理,用DataReader太慢了,如果Fill进DataSet的话,如何?内存会不会一下子长到1G呢?
要不就分页载入?但是用Sql语句如何分页啊,好像比较麻烦?

解决方案 »

  1.   

    抱歉,无法使用存储过程,首先access的话无法用,其次SqlServer的话,我的程序被限制使用存储过程……只允许程序在外围工作~~~
    继续等答案~~~~
      

  2.   

    不用存储过程,新建个类,纯粹用sql去分
      

  3.   

    希望楼上两位能提供相关的参考
    方法1:用sql分的参考
    方法2:或者用C#写储存过程(这种方式我感觉似乎对Access依然是无效的?)
      

  4.   

    Sql语句如何分页?
    很好辦
    用top
      

  5.   

    数据库一千万行的数据,Access或者SqlServer的...你还要一次读出来,建议你改行吧,你见过谁待着没事调出来千万数据来浏览来着???如果只是处理,一般都是在数据库端处理否则客户端谁也扛不住
      

  6.   

    分页方法很多
    给你个参考
    http://lovephoenix.javaeye.com/blog/131981
      

  7.   

    一下取那么多干嘛?
    分页取,Sql语句一样可以
      

  8.   

    一千万不算大...数据文件1G也不算大...没有人BT到一次看一千万条数据...一屏超过100条大家都不耐烦...用DataReader太慢了说明你的代码有问题或者是别的地方有瓶颈...
      

  9.   

    感谢各位的热心帮助
    其实这个BT的需求是进行数据采集,客户端不被允许直接对数据库进行操作(因为有涉密内容,我不知道他们怎么想的,其实我们把数据取出来也是一样的,但就是不让进入内部操作~~所以只有在外围读取)
    为什么要读那么多,因为采集变化的话需要和一个副本比较才可以比对出变化量。
    对于大数据来说,只能分页来处理了,我还不能用top的取法,因为那样要排序,但是我的原数据和副本的正序倒序可能是不一样的~~还好可以用not in 方式来分页,似乎这个是分页方法里效率最低的,但是也没办法了。
    再次谢谢各位的帮助!