Heim  >  Artikel  >  Datenbank  >  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:02891Durchsuche

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?

Expertenantwort:

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 einer bestimmten Zeit zu beenden Zeitlimit.

Ursprüngliche Antwort:

Vor MySQL 5.7 war die Durchsetzung eines serverweiten Timeouts für Abfragen und Nicht-SELECT-Vorgänge 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 jeden dieser Prozesse einen KILL-Befehl [Prozess-ID] aus, um ihn zu beenden.

Diese Technik ermöglicht Sie können ein Zeitlimit für Abfragen auf Ihrem Server erzwingen, um sicherzustellen, dass lang laufende Abfragen nicht auf unbestimmte Zeit Ressourcen beanspruchen.

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