日期:2014-05-18  浏览次数:20830 次

如何才能加快DataSet 速度?
我用DataSet分页
数据库access一百万条记录两个字段需要22.8秒才能完成载入

以下是我的代码

using System;

using System.Data;

using System.Data.OleDb;

//==================================================================================================

public class _System{

public string Sql,Data,ErrorMessage;

private OleDbConnection Conn=null;

public OleDbDataAdapter Ds=null;
 
//==================================================================================================  
public void OpenDataBase(){ 
 
Conn=new OleDbConnection("Provider=Microsoft.jet.OleDb.4.0;Data source=dd.mdb");

Conn.Open();

}
 
//==================================================================================================
 
public void Execute(){


Ds=new OleDbDataAdapter(Sql,Conn);

DataSet Dt=new DataSet();

Ds.Fill(Dt,"ok");

RecordCount=Dt.Tables["ok"].Rows.Count;



}

//==================================================================================================


public void CloseDataBase(){

Conn.Close();

}
 
//==================================================================================================  

}




------解决方案--------------------
dataset 解决不了问题,分页解决
------解决方案--------------------
1、把access换成sql server或者oracle。
2、为表加上索引。
3、不要一次把100万条数据全部fill到dataset中。
4、不用vs自带控件的分页,分页的时候,只取当前页的数据,每翻一页取一次。