VC下用ADO操纵ACCESS数据库,从MDB1,读出一条记录处理后存入新库MDB2,记录集打开方式为:
pRecordset->Open(_variant_t(strComm),pConnection.GetInterfacePtr(), adOpenKeyset, adLockBatchOptimistic, adCmdText);
主机是赛扬550,内存192M,winserver2000,实测效率才5000条/分钟!假如有50万条记录,得用100分钟!实在不能忍受!!
补充程序细节:
打开记录集使用的是批处理,为什么没加一条记录(ADDNEW)后必须立即更新一次,添加下一条记录就会产生异常?CACHESIZE为100000。

解决方案 »

  1.   

    VC下用ADO操纵ACCESS数据库,从MDB1,读出一条记录处理后存入新库MDB2,记录集打开方式为:  
    pRecordset->Open(_variant_t(strComm),pConnection.GetInterfacePtr(),  adOpenKeyset,  adLockBatchOptimistic,  adCmdText);  
    主机是赛扬550,内存192M,winserver2000,实测效率才5000条/分钟!假如有50万条记录,得用100分钟!实在不能忍受!!  
    补充程序细节:  
    打开记录集使用的是批处理,为什么每加一条记录(ADDNEW)后必须立即更新一次,否则添加下一条记录就会产生异常?CACHESIZE为100000。
      

  2.   

    VC 问题可以去 VC 板块询问
      

  3.   

    ADDNEW和UPDATE必须绑定一起使用你那种配置,有这样的速度已经很不错了其实ADO转数据的速度还跟很多东西有关。。比如说你数据转换的逻辑复杂度,数据库表数据量的规模等
      

  4.   

    嗯,同意楼上的,你add了后,需要update
    数据库访问速度,不光与你的机器配置有关,还有你的数据库表的设计,查找算法等有关