2016-05-05 4 views
0

Es scheint, als wäre eine zurückgestellte Transaktion möglicherweise gefährlich, wenn Sie mehr als eine Datenbankverbindung haben, die auch versuchen könnte, eine Sperre für eine Transaktion zu erhalten. Gibt es weitere Schritte, die Sie bei der Verwendung einer zurückgestellten Transaktion ausführen sollten, z. B. um sicherzustellen, dass alle Transaktionen in der Datenbank zurückgestellt werden?Wenn SQLite unter welchen Bedingungen verwendet wird, wird empfohlen, eine verzögerte Transaktion zu verwenden?

Antwort

0

Verzögerte Transaktionen können zu einem Deadlock führen, wenn zwei Verbindungen gelesen werden und dann versucht wird, zu schreiben; Eine Transaktion muss in diesem Fall abgebrochen werden.

Um dies zu vermeiden, sollten alle Transaktionen, die Schreibvorgänge ausführen könnten, Soforttransaktionen sein.

(Deferred-Transaktionen sind die Standardeinstellung, da die meisten Anwendungen keine gleichzeitigen Verbindungen verwenden und Transaktionen nur als Schutz vor Unterbrechungen verwenden.)

Verwandte Themen