Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird Embedded (https://www.delphipraxis.net/140847-firebird-embedded.html)

Chemiker 27. Okt 2009 07:04

Re: Firebird Embedded
 
Hallo hoika,

mir geht es nicht um die ZEOS selber setze ich FIBPLus ein.

Ich denke ich muss mir ein Test Project mal schreiben, damit man das mal prüfen kann.
Bei 10.000.000 Datensätze ist das Problem nicht so gravierend, aber ab eine bestimmte Menge an Datensätze wird der Server immer langsamer.

Bis bald Chemiker

tsteinmaurer 27. Okt 2009 07:05

Re: Firebird Embedded
 
Commit vs. CommitRetaining hat nicht wirklich was mit einem fehlenden Transaktionslog/MGA/Datensatzversionierung zu tun. CommitRetaining macht ein Commit behält allerdings den aktuellen Transaktions-Kontext inkl. der Transaction Inventory Page (TIP) usw ... bei. Dadurch, dass der Transaktionskontext nicht verloren geht, werden z.B. auch die Datenmengen nicht geschlossen. Gut zu sehen bei der Verwendung von datensensitiven Steuerelementen. CommitRetaining steht allerdings in einem direkten Zusammenhang mit schlechterer Performance, da dies die Transaktion quasi noch aktiv beläßt (da ja der Transaktionskontext nicht beendet wird => CURRENT_TRANSACTION ist z.B. auch noch die selbe ...). Dadurch kann auch die OAT nicht weiterlaufen und man bekommt bei ständiger Verwendung von CommitRetaining ein Performanceproblem (langlaufende Transaktion), da ja bei jedem Transaktionstart die Transaktion sich die aktuelle TIP merken muss usw. Wenn die OAT nicht weiterlaufen kann, kann dies die OIT natürlich auch nicht machen. Ein Sweepintervall hilft hir auch nicht, weil ja das Sweepintervall über OAT-OIT definiert ist. (das Thema schreit irgendwie nach einem Artikel *g*).

Darum, CommitRetaining bzw. Autocommit, da dies ja in der Regel CommitRetaining verwendet, mit Maßen genießen und die Transaktionen mit regelmäßigem Hard Commit beenden.

hoika 27. Okt 2009 07:20

Re: Firebird Embedded
 
Hallo,

<Chemiker>
#26

aha.
Warum machst du ein ReadCommit ?

Ich würde entweder
1. nach dem kmopletten Import eine HardCommit machen
2. nach x Imports ein HardCommit


Thoams,
den Artikel gibt es doch schon ...
OK, nicht direkt zu CommitRetaining,
aber zu OAT-OIT.



"Index is out of date",
Das waren noch aussagekräftige Fehlermeldungen ;)


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr.
Seite 4 von 4   « Erste     234   

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