10万条数据太大了,你的服务器性能不好的话肯定要列了。10万条数据编译为HTML代码向客户端发送不死才怪呢。1万条还差不多。

解决方案 »

  1.   

    DataGrid要分页干什么??
      

  2.   

    一般的网站每次显示的记录数25条最多了,因为网页有时候的并发量很大,多人同时访问的话,你显示记录多的话就会挂掉。你可以用一个store procedure专门来实现分页。在用户按下一页上一页的时候从数据库中重新取
      

  3.   

    我不是在做网站。
    是一个C/S的程序。在一个查询功能中,我想看看到底能显示多少条记录。
    所以用了一个DataGrid控件。数据多了就死了。问题已经找到:就是在生成数据时,不要把DataSet和DataGrid绑定,等生成完了后再绑定在一起。
    这样速度大大提高了。50万的记录几秒钟就显示出来了。这样也有个问题:就是在查询前,DataGrid是空的,就连头信息也没有,然后用
    this.dataGrid1.DataMember = "Table1";
    this.dataGrid1.DataSource = this.dataSet1;
    语句把DataGrid和DataSet捆在一起。
    有没有办法:在生成DataSet数据时不更新DataGrid,等生成完后再更新的?
      

  4.   

    DataTable或DataSet是将所有数据存在内存中的,这么多数据不知道你的机子撑得住吗?不过我想只要你耐心等待,最后结果还是会完成的吧。大量循环容易导致界面暂时地死掉。可以使用多线程来解决这个问题。
      

  5.   

    大哥,DataTable和DataSet都是存放在内存中的,里面数据量越大占用内存就越大,你一个10万条数据的DataSet不把内存撑爆才怪了,除非你的内存达到1G以上再试试
      

  6.   

    这样也有个问题:就是在查询前,DataGrid是空的,就连头信息也没有,
    ----------------------------------可以先用select * from tablename where 1=2来初始化一个没有数据但是存在列信息的DataTable,把它绑定到DataGrid以后,再去更新你需要存放数据的DataTable,等这个DataTable更新完毕以后再把它绑定到DataGrid。
      

  7.   

    yidengjiang(一等奖) 的方法可行
      

  8.   

    SqlDataAdapter.FillSchema (dts,SchemaType.Source ,adapterName  ); 
    用同一个适配器但只填充空架构
    不需要用到1=2 这种永远不会返回记录的条件查询,为了要查询到记录还得再改或写一个,
      

  9.   

    我用Mysql,100万条记录不快也不慢。