Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Geschwindigkeit zwischen ZEOSLib und IBObjects (https://www.delphipraxis.net/81153-geschwindigkeit-zwischen-zeoslib-und-ibobjects.html)

Schweesspunkt 21. Nov 2006 16:28

Datenbank: Firebird • Version: 2.0 • Zugriff über: ZEOSLib / IBObjects

Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Hallo Forum,

Da hier im Forum gelesen habe dass die ZEOSLib schneller sind als die IBObjects habe ich mir erstgenante heruntergeladen.
(Version 6.6 beta)

Testhalber habe ich mein Transferprogramm DBF => Firebird auf ZEOSLib umgeändert.
Beim durchlauf hatte ich das gefühl dass der import langsamer läuft.
Habe anschliessend beide Versionen (IBO + ZEOS) mit Zeit angabe getestet.
IBO: 6,937 Minuten
ZEOS: 10,023 Minuten (Also Sichtlich langsamer)(autocommit abgeschaltet)

Benutze die TDBF kompos um die DBF ein zu lesen
Bei IBO die TIBSQL-komponente
Bei ZEOS die TZQuery-komponente

SQL: INSERT INTO "CLIENT" (Ref, Client, NOM, .........) VALUES (:REF,:CLIENT,......)
:Ref wird über eine StoredProcedure mit einem Auto-wert gefüllt
Alle anderen Daten kommen aus einer DBF.

Parameterzuweisung wie folgt:
ZQ1.ParamByName('REF').AsInteger := VRefCli;
ZQ1.ParamByName('NOCLIENT').asstring := dbf1.fieldbyName('NoClient').asstring;
u.s.w.


Die Firebird Datei ist auf einem Server Zuhause, die DBF-Datei ist Lokal gespeichert.
Die Netzwerkauslastung hat nicht gespielt da dieser Test zu einer Zeit statfand wo niemand sonst Arbeitet.

Wieso ist ZEOS bei mir langsamer als IBO?
Die ganze sache finde ich sowieso sehr langsam da es sich bei dieser spezifischer Db nur um +-20.000 Datensätze handelt.
Ich muss auch DB's importieren die über 200.000 Datensätze halten also geschätzte Dauer +-60 Minuten.

Wie kann ich das ganze schneller importieren.

M.f.G.
Kunsch Alain

P.S.: Die DB's werden im Schnitt auf mehrere FDB's verteilt.

hoika 21. Nov 2006 17:21

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Hallo,

wie sieht es denn mit deinem Transaktionshandling
und den Transaktions-Einstellungen aus ?


Heiko

dataspider 21. Nov 2006 17:49

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Zitat:

Zitat von Schweesspunkt
Hallo Forum,

Da hier im Forum gelesen habe dass die ZEOSLib schneller sind als die IBObjects habe ich mir erstgenante heruntergeladen.
(Version 6.6 beta)

Ich denke nicht, dass die ZEOSLib schneller als IBO ist.
Ich habe die Beiträge auch gelesen und bin der Meinung, dass es schlichtweg falsch ist.
Ich benutze von IBO die TIB_Connection, TIB_Transaction und die TIBOQuery und für unidirektionale Abfragen TIB_Cursor.
Importe mache ich prinzipiell über SP' s (TIB_StoredProc).

Ich importiere z.B. ca. 20.000 Datensätze aus einer Oracle DB in wenigen Minuten.

Cu, Frank

hoika 21. Nov 2006 18:00

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Hallo,

ich würde mal hiermit den traffic bei beiden Programmen messen.

http://delphi.about.com/od/fullcodep.../aa112903a.htm


Heiko

Schweesspunkt 22. Nov 2006 07:06

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Hallo,

Zitat:

Zitat von hoika
wie sieht es denn mit deinem Transaktionshandling
und den Transaktions-Einstellungen aus ?


Also ich mache bei ibo nach 5000 records ein commitretaining

Bei ZEOS habe ich Autocommit auf false und mache nach 5000 records ein commit. (was ich glaube einem commitretaining gleich kommt.)


Zitat:

Zitat von hoika
ich würde mal hiermit den traffic bei beiden Programmen messen.

http://delphi.about.com/od/fullcodep.../aa112903a.htm

Habe ich heruntergeladen und schaue mal was dabei raus kommt.



Zitat:

Zitat von dataspider
Ich denke nicht, dass die ZEOSLib schneller als IBO ist.
Ich habe die Beiträge auch gelesen und bin der Meinung, dass es schlichtweg falsch ist.
Ich benutze von IBO die TIB_Connection, TIB_Transaction und die TIBOQuery und für unidirektionale Abfragen TIB_Cursor.
Importe mache ich prinzipiell über SP' s (TIB_StoredProc).

Ich werde mich wohl mehr mit den StoredProc beschäftigen müssen. Meine einzige StoredProc habe ich kopiert und angepasst.
Auch TIB-Cursor werde ich mir mal näher ansehen.
Ich glaube da ich jetzt mit den IBO angefangen habe und ZEOS nur testhalber installiert habe werde ich wohl bei IBO bleiben.


Besten Dank an alle
M.f.G.
Kunsch Alain

MagicAndre1981 22. Nov 2006 07:37

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
ZEOS war schon imer lahm, weil sie versuchen alle DBs anzudecken.

Lemmy 22. Nov 2006 07:45

Re: Geschwindigkeit zwischen ZEOSLib und IBObjects
 
Zitat:

Zitat von Schweesspunkt
Also ich mache bei ibo nach 5000 records ein commitretaining

Bei ZEOS habe ich Autocommit auf false und mache nach 5000 records ein commit. (was ich glaube einem commitretaining gleich kommt.)


Wenn es dasselbe oder das gleiche ist, würde es auch gleich heißen ;-)) Ein Commit ist was anderes als ein CommitRetaining, wobei ich aber nicht einschätzen kann, ob es einen Geschwindigkeitsunterschied hervorruft.

Lemmy


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz