Heim >Datenbank >MySQL-Tutorial >Wie kann die Ausführungszeit einer Abfrage in MySQL begrenzt werden?

Wie kann die Ausführungszeit einer Abfrage in MySQL begrenzt werden?

Linda Hamilton
Linda HamiltonOriginal
2024-11-14 09:29:02967Durchsuche

How to Limit Query Execution Time in MySQL?

Begrenzung der Abfrageausführungszeit in MySQL

Frage: Gibt es eine Möglichkeit, die maximale Dauer einer Abfrage zu begrenzen? in MySQL?

Experte Antwort:

Ab MySQL 5.7 können Sie den Optimierungshinweis MAX_EXECUTION_TIME in Ihren SELECT-Abfragen verwenden, um den Server anzuweisen, die Ausführung nach einem bestimmten Zeitlimit zu beenden.

Original Antwort:

Vor MySQL 5.7 wurde ein serverweites Timeout für Abfragen erzwungen und Nicht-SELECT-Operationen waren nicht möglich. Eine übliche Problemumgehung besteht jedoch darin, einen Cron-Job zu erstellen, der kontinuierlich auf Ihrem Datenbankserver ausgeführt wird und die folgenden Schritte ausführt:

  1. Führen Sie eine SHOW PROCESSLIST-Abfrage aus, um eine Liste der laufenden Prozesse abzurufen.
  2. Identifizieren Sie alle Verbindungen, bei denen die Ausführungszeit der Abfrage Ihr gewünschtes Zeitlimit überschreitet.
  3. Geben Sie für jede Verbindung einen KILL-Befehl [Prozess-ID] aus einen solchen Prozess, um ihn zu beenden.

Mit dieser Technik können Sie ein Zeitlimit für Abfragen auf Ihrem Server erzwingen und so sicherstellen, dass lang laufende Abfragen nicht auf unbestimmte Zeit Ressourcen monopolisieren.

Das obige ist der detaillierte Inhalt vonWie kann die Ausführungszeit einer Abfrage in MySQL begrenzt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn