使用Managed Esent接口从表中读取数据。我用(伪):
这样做List<ColumnInfo> columns; //Three columns to be read
using (var table = Table(session,DBID,"tablename",OpenTableGrbit.Readonly))
{
while (Api.TryMoveNext(session, table))
{
foreach (ColumnInfo col in columns)
{
string data = GetFormattedColumnData(session,table,col);
}
}
}
我只对三列数据感兴趣,大约有4,000行。但是,表本身是1,800,000行。因此,这种方法读取我想要的数据非常慢,因为我需要读取所有1,800,000行。有更快的方法吗?
答案 0 :(得分:0)
你可以做很多事情。以下是我头脑中的一些事情:
SystemParameters.CacheSizeMin
。默认的缓存大小调整算法有时候有点保守。OpenTableGrbit.Squential
。这对预取有一点帮助。Api.RetrieveColumns
一次检索三个值。这减少了您将要执行的呼叫/密码的数量。-Martin