现有个数据库中有500万条数据,需要从1到500w逐个编号,采用10000条记录提交一次,主要代码如下首先adodataset1的locktype设置成batchtoption;ADODataSet1.close;
ADODataSet1.CommandText:='select rowid,p_no from soc ';
ADODataSet1.open;ADODataSet1.First;
for i := 1 to ADODataSet1.RecordCount do
   begin
     ADODataSet1.Edit;
     ADODataSet1.FieldValues['p_no']:=i;
     ADODataSet1.post;
     ProgressBar1.Position:=i;     if (i mod 10000)= 0 then   ADODataSet1.UpdateBatch(arAll);
     ADODataSet1.next;
   end;
ADODataSet1.UpdateBatch(arAll);
ShowMessage('done!');前50w条记录还比较快,1分钟10万条,但是后面越来越慢,十几分钟才能提交1万条,请问各位是不是代码有问题,要如何改进?