Autor Beitrag
Josef-B
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mi 07.05.03 18:55 
Wann muss ich genau ein commit setzen?

Wenn ich es richtig gelesen habe, werden Änderungen in der Datenbank erst nach einem Commit festgeschrieben.

Setze ich es nach jedem Satz schreiben oder erst nach der ganzen Sitzung?. Obwohl ich viel gelesen habe, habe ich es leider nicht verstanden.

Ist die Transaction und das IBDataset danach automatisch geschlossen oder kann man gleich weitere Änderungen schreiben?
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 07.05.03 19:20 
Das ist eine schwierige Frage, es hängt von mehreren Faktoren ab.

Es kommt vor allem darauf an, in welchem Modus Deine Transaktion läuft. Können andere schon nicht-committete Aktionen sehen, dann brauchste das net, hat aber wieder andere Nachteile.

Außerdem unterscheidet man ein Hard-Commit und ein Commit-Retaining, das die Daten schon in die Datenbank schreibt, aber die Datenmenge offen lässt. Hat aber wiederum den Nachteil, dass die Transaktionsnummer immer größer wird, was zu Problemen führen kann.

Da solltest Du Dir ein Buch drüber besorgen, wenn Du Dir das Transaktions-Management genauer ansehen willst, kannste viel Performance aus einer DB-Anwendung rausholen.

Wenn ich jetzt noch mehr schreib, kann ich gleich ein Buch draus machen. Aber ein Fazit: Es hängt alles von Deiner Anwendung und von ihrem Einsatzort ab.