当读取1万条记录以上,应怎么做才有高效率?

bmsnake 2001-07-19 10:57:02
我用ADO读Access的一个简单的表。
读8000多条记录,所费时间不少,且有时只读到7000多条,不能读全
如用access打开哪个表时感觉很快!

函数如下
{
CString cs;
cs.Format("select * from index");

_RecordsetPtr rt;
IADORecordBinding *binding;
rt.CreateInstance(__uuidof(Recordset));

try{
rt->Open((LPCTSTR)cs,p.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

rt->QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)&binding);
binding->BindToRecordset(&m_cdSet);
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
int i=0;
rt->MoveFirst();
while(!rt->adoEOF)
{
i++;
TRACE("filename%d",i);
rt->MoveNext();
}

binding->Release();
rt->Close();
}
...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bmsnake 2001-07-20
  • 打赏
  • 举报
回复
我指定rt->MaxRecords=200;
最记录还是查到7000多条!
MaxRecords是怎么用的?

windindance 2001-07-19
  • 打赏
  • 举报
回复

用ADO应该可以限制每次读入的数据记录数。
BCB中是ADOTable->MaxRecouds,VC中不知道。
nerk 2001-07-19
  • 打赏
  • 举报
回复
首先看你数据库有没有对某一查询字段作索引。
然后就是不到万不得已不要用select *

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧