Ich habe nun mal die Performance einer Access-Tabelle mit der einer
Paradox-Tabelle verglichen, das Ergebnis war erschreckend (s.u.)!
Es wurden jeweils 1000 Datensätze in die uns allen bekannte Tabelle
DBDEMOS\Vendors eingefügt, verändert und wieder gelöscht. Ergebnis Jet mit
ADO ist zwischen Faktor 100 und 30 langsamer.<p>
Das entsprechende Demoprogramm kann unter www.bkedv.de/download/ADODBTest.zip
geholt werden. Es vergleicht auch die verschiedenen Zugriffsmethoden von
ADO (TADOTable, TADODataset, ADO nativ). Ich konnte den von A. Kosch oft
herausgestellten Unterschied zwischen TADOTable und TADODataset nicht erkennen
(absolut identische Ergebnisse). Richtig ist aber, daß der native Zugriff auf
die ADO-Objekte ca. 25% schneller ist, ob das den Mehraufwand lohnt, muß jeder
für sich entscheiden.<br>
Interessant ist auch, daß ADO Faktor 4 langsamer ist, wenn man es in Delphi
startet, dies trifft für die BDE nicht zu.
Was es jetzt noch zu klären gilt, ist ob hier ADO bremst, oder die Jet-Engine ???<br>
Vielleicht habe ich auch was falsch eingestellt ?! (Tipps are welcome) <br>
Es wurden die original Imports von Delphi verwendet (AdoInt.pas), die Wahl des
Interfaces sollte aber auf die Performance keinen Einfluß haben (oder?).
<PRE><CODE>
(in Delphi) (Ohne Delphi)
BDE ADOTable ADO pur BDE ADOTable ADODataset ADO pur
INSERT 160 16213 15011 160 3425 3425 2614
UPDATE 110 16954 16874 110 4125 4125 3685
DELETE 100 15142 70 (1 100 3906 3906 50 (1
Messwerte in ms, P3/900, Delphi 6
(1: bei delete wurde bei ADO-pur nicht Satzorientiert gelöscht, sonder via SQL-Command
</PRE></CODE>
happy coding, Bernd.
Paradox-Tabelle verglichen, das Ergebnis war erschreckend (s.u.)!
Es wurden jeweils 1000 Datensätze in die uns allen bekannte Tabelle
DBDEMOS\Vendors eingefügt, verändert und wieder gelöscht. Ergebnis Jet mit
ADO ist zwischen Faktor 100 und 30 langsamer.<p>
Das entsprechende Demoprogramm kann unter www.bkedv.de/download/ADODBTest.zip
geholt werden. Es vergleicht auch die verschiedenen Zugriffsmethoden von
ADO (TADOTable, TADODataset, ADO nativ). Ich konnte den von A. Kosch oft
herausgestellten Unterschied zwischen TADOTable und TADODataset nicht erkennen
(absolut identische Ergebnisse). Richtig ist aber, daß der native Zugriff auf
die ADO-Objekte ca. 25% schneller ist, ob das den Mehraufwand lohnt, muß jeder
für sich entscheiden.<br>
Interessant ist auch, daß ADO Faktor 4 langsamer ist, wenn man es in Delphi
startet, dies trifft für die BDE nicht zu.
Was es jetzt noch zu klären gilt, ist ob hier ADO bremst, oder die Jet-Engine ???<br>
Vielleicht habe ich auch was falsch eingestellt ?! (Tipps are welcome) <br>
Es wurden die original Imports von Delphi verwendet (AdoInt.pas), die Wahl des
Interfaces sollte aber auf die Performance keinen Einfluß haben (oder?).
<PRE><CODE>
(in Delphi) (Ohne Delphi)
BDE ADOTable ADO pur BDE ADOTable ADODataset ADO pur
INSERT 160 16213 15011 160 3425 3425 2614
UPDATE 110 16954 16874 110 4125 4125 3685
DELETE 100 15142 70 (1 100 3906 3906 50 (1
Messwerte in ms, P3/900, Delphi 6
(1: bei delete wurde bei ADO-pur nicht Satzorientiert gelöscht, sonder via SQL-Command
</PRE></CODE>
happy coding, Bernd.
Comment