你可以做几个实体类,实体类中有些方法和属性作为限制条件。10万条都放到dataset会很慢的,我试过。对内存要求太高了。可以用临时表啊, 用个select语句,加上where条件不就行了。我觉得具体该怎么用应该根据实际情况。

解决方案 »

  1.   

    这个问题我喜欢,,我不过这样大的数据量SQL Server能不能应付得了呢?如果能的话我还是觉得用数据库本身的能力比较好。如果用dataset做的建议多次的加载数据,如果一次性加载,加载过程很漫长。程序运行的时候也很慢。
      

  2.   

    数据分别读取不就行了,用到什么就加载什么,然后在后台中整和到本地的DATASET中,不过还是对客户机的要求比较高!!!建议不要使用.NET中的内存管理机制.还是自己写吧!!!!建议分批加载数据,考虑到客户的需求应使用多线程以及堆栈技术啦尤其对压栈和数据大小要进行细致的调试
      

  3.   

    1.用存储过程吧!
    2.为什么要一下了读入 那么多数据然后再操作呢?何不用条件过滤一下。也可以用 XML生成DataSet、
    结构。用DataReader读入,然后操作,但是 DataAdapter的操作要自已写。
      

  4.   

    应该没必要每次都读取10 万条左右那么多吧,不会每次都要全部用到这10 万条吧!!!只把需要的读进dataset,如果10 万条全读到dataset,会比较慢的!!!
      

  5.   

    建议采用存储过程,主要的数据是在服务器端处理。
    客户端的dataset要放10万条数据??没这必要, 只是要设好强大的查询功能,列出需要处理的数据,最终数据处理在服务器端,毕竟服务器配置是强大的。
      

  6.   

    1.最好用存储过程,退一步,用SQL语句
    2.用视图、索引,不要直接对表进行操作。
    3.根据你要需求,把DataSet中的数据量减到最少。
      

  7.   

    一:就是用SQL语句还不是一样用Command去调用,ADO.NET不是你采用不采用的问题,即使是用存储过程
    也要通过它去调用啊
    建议用存储过程,安全,效率高,还可以简化一些逻辑的处理
    二:一次读10W条数据出来?
    根据查询条件限定范围
    一次读10w给客户,他也看不过来
      

  8.   

    当然是存储过程,这是毫无疑问的;存储过程快一点.一次读出所有,不会吧,当然是分页,一次读一百条都看不过来,十万条怎么看用DATASET,加上查询,如果有些平常不太会读到的记录放到另一个历史表中
      

  9.   

    ado.net and sql 都要用到
    肯定慢死了!不要这样做,要修改直接用sql 或者存储过程就可以了
    你的情况,临时表也不必要用,直接查询,选择出需要的来在进行修改,如果一定要用临时表,也不要用dataset,除非你的内存大死了,而且这样数据交换量会非常慢,处理10万条,这绝对不是好办法
      

  10.   

    说一下我的想法
    一 、对于大量频繁的数据处理,应该采用存储过程。
       有很多好处,1、处理效率高。
                   2、将实现的逻辑与代码剥离,当结构发生变化时,修改存储过程即可。
       缺点:存储过程和触发器在移植时可能会有困难,例如SQL 2000--->Oracle
    二、楼主开发的是C/S系统。那么客户端也许要装SQL的客户端建接口用户授权等
        (我以前的系统就是如此)。
        解决办法:1、采用WebService 将连接参数等设置好,建立不同的增、删、改的方法
                   调用不同的存储过程。客户端程序只需要连接WebService,执行不同的方法即可。
    三、DataSet可以作为参数传递给WebService ,因此代码简洁明了。
    四、我目前项目大体就是采用如上方式
        数据库:Oracle 9.2.0
        数据表:近百个
        目前数据量:近千万条。
        运行时间:11个月,一切正常
      

  11.   

    根本问题是项目是Winform,我没帮法不读取这10w条数据,它是个子表,客户要当点击父表的字段的时要及时显示字表的内容,所以我想采用本地数据库和数据库服务器综合使用的方法,每次启动软件先将基本数据填充到本地数据库,而客户端情况辨别是否需要读取这个字表,然后再做处理,说用存储过程的朋友能不能解释存储过程的优点?存储过程能不能判断主键冲突类似的问题?
      

  12.   

    如果我把 10 万条左右的数据一次读到 DataSet中
    那一定是很耗内存呀
      

  13.   

    10万条 读取的时候不是一下子都读取过来的 这个应该不用你做控制 sql server 或者 你的开发工具的机制会帮你处理好的