批量插入数据库数据
为了提高大量入库效率,使用了事务,代码如下
try
{
pDBConn = OpenDBConn();
pDBConn->BeginTransaction();
CADORecordset DataRecord( pDBConn );
DataRecord.Open(_T("ReceInfo"), adCmdTable, adLockOptimistic);
for (vector< UpData* >::iterator it = v_realdata.begin(); it != v_realdata.end(); it++)
{
UpData* pupdata = *it;
DataRecord.AddNew();
fillRealVal(DataRecord, pupdata); //用记录集对象填充字段值
}
DataRecord.Update();
pDBConn->CommitTransaction();
//DataRecord.UpdateBatch();
}
catch (...)
{
pDBConn->RollbackTransaction();
return false;
}
上述代码 DataRecord.Open(_T("ReceInfo"), adCmdTable, adLockOptimistic);会卡很久,请问批量入库时open的参数该如何设置,如果使用了UpdateBatch是不是可以替代CommitTransaction,BeginTransaction,怎样才能做到效率最高?求指导