Ich habe es mir mal etwas einfach gemacht und folgende Schleife durchlaufen lassen:
Es werden 2,5 Millionen Zufallszahlen (5*500.000) erzeugt und in die Tabelle eingefügt.
Delphi-Quellcode:
ParaList.Add('Anfang: '+timetostr(now));
tblpara.Open;
for i := 1 to 500000 do begin
tblpara.Insert;
tblpara.FieldByName('Zahl1').AsInteger:=Random(10000);
tblpara.FieldByName('Zahl2').AsInteger:= tblpara.FieldByName('Zahl1').AsInteger + Random(100);
tblpara.FieldByName('Zahl3').AsInteger:= tblpara.FieldByName('Zahl2').AsInteger + Random(500);
tblpara.FieldByName('Zahl4').AsInteger:= tblpara.FieldByName('Zahl3').AsInteger + Random(1200);
tblpara.FieldByName('Zahl5').AsInteger:= tblpara.FieldByName('Zahl2').AsInteger + Random(3300);
end;
tblpara.Close;
ParaList.Add('Ende: '+timetostr(now));
ParaList.SaveToFile('parazeit.txt');
Was soll ich sagen, die Paradoxtabelle hat 13 Sekunden gebraucht.
Bei der Firebird habe ich nach einiger Zeit abgebrochen, weil sich nichts tat. Die Prozedure funktioniert bei der Firebird-
DB aber bei einer Schleife die nur 5-6 mal durchläuft. Es geht also. Hmm woran könnte das liegen? Ist
Paradox als lokale Tabelle in Puncto Performance doch besser, oder hat Firebird sich nur aufgehängt?
Gruß