使用CRecordset像数据库中添加数据的问题?

Colin-Han 2002-04-08 02:52:24
我实用程序向数据库中添加一条数据,数据库中的纪录有80万条以上,经常失败,报告Time Out. 为什么?

我使用自定义的Recordset类,程序如下:

class CMyRecordset:public CRecordset
{
long m_a;
long m_b;
CArrayBinry m_c;

............//其他程序
}

使用ODBC连接一个SQL Server数据库。添加纪录的程序如下:
{
MyRecordset.AddNew();
m_a = 100;
m_b = 100;
m_c.copy(d/*另外一个库里面的一条记录的一个字段*/)
MyRecordset.Update(); //Time Out
}

同时,如果数据量很大时,查询也很慢!
怎么办?我使用动态集和快照两种方式打开都很慢!为什么?

高手们帮帮忙啊!
================================================================

CSDN 论坛助手 Ver 1.0 B0402 上CSDN很不错!

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Colin-Han 2002-04-11
  • 打赏
  • 举报
回复
添加数据那里我将Recordset的类型改为只添加的,速度快了很多,也很少Timeout了!谢谢各位的帮忙!

查询方面,我使用了快速只进记录集,速度也有很大提高,已经解决了哪些问题!

在此谢谢大家,分分了!
_liang_ 2002-04-08
  • 打赏
  • 举报
回复
可以试着将m_strFilter的值作到最优,特别在条件中包含许多or语句时,会极大的影响查询速度.
Colin-Han 2002-04-08
  • 打赏
  • 举报
回复
我已经添加了索引,但是速度还是很慢?为什么?
_liang_ 2002-04-08
  • 打赏
  • 举报
回复
用odbc本身就是VC中操作数据库最慢的一种方法,
查询慢不知你有没有给字段加索引?
pgcat 2002-04-08
  • 打赏
  • 举报
回复
试试在数据库建索引

34,594

社区成员

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

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