Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Ausführungszeit von Abfragen in MySQL begrenzen?
Durchsetzung von Zeitlimits für die Abfrageausführung in MySQL
Frage: Kann ich MySQL so konfigurieren, dass die Ausführungszeit von Abfragen eingeschränkt wird? ?
Antwort: Historisch gesehen fehlte MySQL ein Integrierter Mechanismus zur Begrenzung der Abfrageausführungszeit. Allerdings führen aktuelle Updates für MySQL 5.7 den Optimierungshinweis MAX_EXECUTION_TIME ein.
Optimierungshinweis MAX_EXECUTION_TIME:
Ab MySQL 5.7 können Sie den Optimierungshinweis MAX_EXECUTION_TIME in SELECT-Abfragen einschließen . Dieser Hinweis weist den Server an, die Abfrage zu beenden, wenn sie das angegebene Zeitlimit überschreitet.
SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;
Serverweite Zeitüberschreitungen:
Wenn Sie eine serverweite benötigen Zeitüberschreitung oder die Notwendigkeit, andere Abfragen als SELECTs einzuschränken, bleibt die ursprünglich bereitgestellte Antwort Ihre beste Option.
Cron Job Ansatz:
In der ursprünglichen Antwort wird vorgeschlagen, einen Cron-Job einzurichten, der regelmäßig nach Abfragen sucht und diese beendet, die ein vordefiniertes Zeitlimit überschreiten. Dieser Ansatz umfasst die Ausführung der folgenden Schritte:
Zusätzliche Überlegungen:
Der Hinweis MAX_EXECUTION_TIME ist zwar praktisch, gilt jedoch nur für SELECT-Abfragen und kann nicht auf Serverebene erzwungen werden. Der Cron-Job-Ansatz bietet eine robustere Lösung zur Durchsetzung von Zeitlimits für alle Abfragetypen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausführungszeit von Abfragen in MySQL begrenzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!