我做了一个有一百七十几万条数据的显示,用了两分钟。。
sqlDataAdapter.Fill(ds,1,maxrecord)
还不错吧

解决方案 »

  1.   

    使用cache功能把dropdownlist的几个字段预存到cache里面,以后调用的时候就不用每次去数据库检索了。或者放在viewstate里也可以的。
    最后做成客户段的dhtml,这样选择速度会很快。
    如果要支持字符窜查询功能,要在客户段的dropdownlist的事件里面编码。
      

  2.   

    to jackyhx(飞不动的侠) :怎样做客户端的dhtml
    给个实例如何?
      

  3.   

    优化查询语句
    只取所需要的数据可以合理使用cache
      

  4.   

    注意查询语句的优化
    只取所需的数据资料合理使用cache
      

  5.   

    cache~!?
    如何使用阿,我怎么没用过,具体讲讲~!
      

  6.   

    private void BindGrid()
    {
    string sql="select * from t_OfficialThings order by iId Desc";//用*是因为所有的字段我都需要用到,最好写出用到的字段名
                DataSet ds=publicClass.DataBase.ReturnDataSet(sql);
    ViewState["ds"]=ds;
    DataView myview=ds.Tables[0].DefaultView;
    if (ViewState["sort"]!=null)
    {
    myview.Sort=(string)ViewState["sort"];
    }
    if(ViewState["filter"]!=null)
    {
    myview.RowFilter=(string)ViewState["filter"];
    }
    DataGrid1.DataSource=myview;
    DataGrid1.DataBind();            

    }
                      //查询
    private void bt_Query_Click(object sender, System.EventArgs e)
    {
    DataGrid1.CurrentPageIndex=0;
    DataView myview=((DataSet)ViewState["ds"]).Tables[0].DefaultView;
    string filter="iId is not null";
    if(tb_Begin.Text!="")
    {
    filter+=" and dDate>='"+Convert.ToDateTime(tb_Begin.Text.Trim())+"'";

    }
    if(tb_End.Text!="")
    {
    filter+=" and dDate<='"+Convert.ToDateTime(tb_End.Text.Trim())+"'";
    }
    if(tb_Handler.Text!="经手人"&&tb_Handler.Text!="")
    {
    filter+=" and cHandler like '%"+tb_Handler.Text.Trim()+"%'";
    }
    if(ddl_OutIn.SelectedIndex!=0)
    {
    filter+=" and cInOrOut='"+ddl_OutIn.SelectedItem.Text+"'";
    }
    if(tb_Name.Text!="物品名称"&&tb_Name.Text!="")
    {
                    filter+=" and cName like '%"+tb_Name.Text+"%'";
    }
    myview.RowFilter=filter;
    ViewState["filter"]=filter;
    DataGrid1.DataSource=myview;
    DataGrid1.DataBind();
    }
      

  7.   

    上面的代码只需要访问一次数据库
    把dataset存到viewstate["ds']中
    以后检索数据时通过控制dataview.rowfilter属性过滤数据不过这样虽然服务器和数据库的数据交互少了,但客户端和服务器之间会因为有viewstate["ds"]的存在而加大数据流量
      

  8.   

    ketao_78(就是不便宜) 
    我也来啦?
    up