Wann sollte ich die Verwendung von Transaktionen in meine Abfragen?
Bin ich beim Lesen sehr ausführliche tutorials auf, wie Sie Transaktionen mit Datenbank-Typen und Datenbank-engines zurück, aber ich habe nicht gefunden, eine Anleitung, lehrt mich, Wann und warum sollte ich Sie verwenden.
Ich weiß, Transaktionen sind in der Regel verwendet für die Banken, also wenn wir mit Geld-Daten, aber ich kann mir vorstellen, Sie werden in viele andere Möglichkeiten.
Heute arbeite ich auf einer Seite mit verschiedenen INSERT
Aussagen für eine relationale Datenbank, und ich wollte wissen, ob dies ist einer der Fälle, Wann sollte ich Sie verwenden.
Bekomme ich den Eindruck, dass ich nicht weiß, die Fälle, wenn die Daten teilweise verloren gehen (abgesehen von coder-Fehler) also ich bin immer besorgt, Wann sollte ich Sie verwenden.
Kann sich das jemand erklären oder geben einige link mit diesen fundamentalen Regeln?
Ich bin mit MySQL 5.0.8
. Sollte ich InnoDB
für alle Tabellen, die müssen Transaktionen? Wenn ja, ist InnoDB
langsamer als die gemeinsame MyISAM
aber ich sollte nicht befürchten, dass?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Grunde jedes mal, wenn Sie eine Arbeitseinheit, die entweder empfindlich auf äußere Veränderungen oder braucht die Fähigkeit zum rollback jede änderung, wenn ein Fehler Auftritt oder aus einem anderen Grund.
Schauen Sie hier für einige ausgezeichnete Antworten und Ihre Gründe für die Verwendung von Ihnen.
Zusätzlich zu dem, was Nick Craver schrieb, würden Sie wollen, um eine Transaktion, wenn Sie haben eine Reihe von Schreibvorgängen, die durchgeführt werden müssen, um atomar, das heißt, Sie sollten alle erfolgreich durchgeführt werden oder keines gelingen sollte.
Transaktionen verwendet werden sollten, wenn es die Möglichkeit gibt, die entweder nicht zu erledigen oder jemand anderes das Lesen oder schreiben in die Mitte Ihre Aufgabe könnte zu Schäden an den Daten. Diese umfassen, sind aber nicht beschränkt auf:
Sie Transaktionen verwenden, wenn Sie eine Gruppe von Aktionen müssen atomar sein (entweder alle erfolgreich durchgeführt werden oder keines gelingen) Verpackung diese Aktionen in einer Transaktion können Sie rollback Aktionen, die es bereits gelungen, wenn Sie auf einen Fehler stoßen. Es wird auch sichergestellt, dass die Daten mit denen Sie arbeiten, konsistent ist als sperren werden solange gehalten, bis die Transaktion abgeschlossen ist.
In einige frameworks, wie z.B. Spring, automatische Transaktionen ermöglichen, zu re-führen Sie eine Transaktion fehlgeschlagen ist.