InterBaseを使いこなすスレ
■ このスレッドは過去ログ倉庫に格納されています
0350345
NGNG- DoublePrecision (Primary Key)
- Integer
- Char(64)
- Char(256)
以下のように追加を繰り返すと、たかだか13万レコードを追加するのに10分もかかるのですが
IBTransaction1.StartTransaction;
try
n := 0;
while not f.Eof do
begin
s := ReadLn(f);
i := Pos(#9, s);
if (0 < i) then
begin
IBQuery1.Params[0].AsFloat := n;
IBQuery1.Params[1].AsInteger := i-1;
IBQuery1.Params[2].AsString := Copy(s, 1, i-1);
IBQuery1.Params[3].AsString := Copy(s, i+1, Length(s));
IBQuery1.ExecSQL;
Inc(n);
ProgressBar.StepIt;
if ((n mod 10) = 0) then
Application.ProcessMessages;
end;
end;
IBTransaction1.Commit;
定石みたいなものがあるのでしょうか?
ProgressBar の動きを見ていると、後半になると遅くなってゆくみたいです。定期的に Commit しないとだめとか?
TIBSQL の方が速いらしいですが、使い方がイマイチわかりません・・・
■ このスレッドは過去ログ倉庫に格納されています