Stellen Sie in MySQL das Wartezeitlimit für Sperren ein


13

Wo würde ich die maximale Zeit einstellen, die eine Abfrage auf eine Sperre in MySQL 5.0.68 wartet, bevor eine Zeitüberschreitung eintritt?

Antworten:




1

Wenn Sie das InnoDB-Timeout von 50 Sekunden erreichen, haben Sie eine schlecht gestaltete Anwendung!

Diese Zeitüberschreitung gibt es, um ungezogene Dinge zu fangen, die auf keine andere Weise gefangen werden können.


1
Oder aufgrund von Fehlern habe ich einen extrem ausgelasteten MySQL- und MariadB-Server und Deadlocks sind eine normale Sache, die nicht immer vorkommt. Auch wenn "unmöglich". Wenn Sie hundert Millionen Zeilen und Zehntausende von SQL-Befehlen pro Sekunde haben, finden Sie alle Arten von Fehlern in MySQL (Abstürze) sowie Deadlocks verschiedener Art.
John

1
Es hängt von der Situation ab. In den mysql-Dokumenten: Sie können diesen Wert für stark interaktive Anwendungen oder OLTP-Systeme verringern, um Benutzerfeedback schnell anzuzeigen oder das Update zur späteren Verarbeitung in eine Warteschlange zu stellen. Sie können diesen Wert für Back-End-Vorgänge mit langer Laufzeit erhöhen, z. B. für einen Transformationsschritt in einem Data Warehouse, der darauf wartet, dass andere umfangreiche Einfüge- oder Aktualisierungsvorgänge abgeschlossen werden.
g4b0

Überprüfen Sie, ob die Anwendung schlecht erstellt wurde ... yep!
Noah Duncan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.