2017-03-23 4 views
0

Ich bin neu in MySQL-Datenbank und habe ein Problem mit der Tabellensperre/Deadlock. Wir führen ein System mit einem täglichen großen Transaktionslauf und irgendwann ist ein Deadlock passiert. Ich würde gerne wissen, was mit den Transaktionen passiert ist, wenn sie die Wartezeit überschritten haben. Werden sie storniert (Rollback)? Müssen wir die Transaktion erneut manuell ausführen oder hat die Anwendung die Transaktion nach dem Deadlock automatisch erneut versucht? Ich benutze MySQL 5.7 mit Innodb-Engine.Was passiert mit mysql transaction nach überschrittenem Wartezeit-Timeout?

Dank

Antwort

0

es dosen't ganz gleich, was db Sie verwenden, wenn Sie eine Transaktion verwenden wird es nur dh auf Erfolg verpflichtet werden, wenn u genauem Hinsehen gibt es einen Transaktionsbefehl am Ende versuchen, begehen die Schreiben Sie , wenn diese Zeile nicht aufgerufen wird Keine Änderungen an der DB vorgenommen werden daher können Sie sicher sein, dass es Rollback in der Situation von Timeout-Fehler

+0

ja .. ich weiß, dass. Aber das wirkliche Problem hier bezieht sich auf Tabelle Sperre/Deadlock und die Transaktionen wurden von Benutzer in unserem System ausgeführt .. – Damien

+0

im Falle von Dead Lock wird es bis zum Timeout warten danach wird die Transaktion nicht auftreten, obwohl Sie keine Sperre verwenden können mit ihr, wenn es eine Leserfunktionalität ist –

Verwandte Themen