内存中有10000条 RecordID记录,数据库中有10×10000条记录,怎么删除最快?(1)

  • 主题发起人 主题发起人 fanronghua
  • 开始时间 开始时间
F

fanronghua

Unregistered / Unconfirmed
GUEST, unregistred user!
内存中有10000条 RecordID记录,数据库中有10×10000条记录,怎么删除最快?
 
where RecordID in (..........)?或者 先 把10000条 RecordID 做临时表?
 
我给个主意吧,先将内存中的10000条ID进行排序。然后按顺序找到有规率的生成删除语句。var I : Integer; StartID, StopID : Integer; IDS : array of integer;begin //排序部分你自己搞掂呀。 StartID := IDS[0]; for I:=1 to High(IDS) do if IDS - IDS[i-1] > 1 then begin StopID := IDS[i-1]; Query.SQL.Text:= format('delete from tablename where id between %d and %d', [StartID, StopID] ); Query.ExecSQL; StartID := IDS; end;end;
 
后退
顶部