Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQL-Abfragen so planen, dass sie automatisch in festgelegten Intervallen ausgeführt werden?

Wie kann ich MySQL-Abfragen so planen, dass sie automatisch in festgelegten Intervallen ausgeführt werden?

Susan Sarandon
Freigeben: 2024-11-30 01:43:10
Original
849 Leute haben es durchsucht

How Can I Schedule MySQL Queries to Run Automatically at Set Intervals?

MySQL-Abfragen planen: Eine umfassende Antwort

Die Planung einer MySQL-Abfrage zur Ausführung in bestimmten Intervallen kann ein wertvolles Werkzeug für die Datenanalyse und Berichterstattung sein . Stellen Sie sich das folgende Szenario vor, in dem Sie über eine Bestandsdatenbank verfügen und historische Bestandsbewertungsdaten benötigen.

Planen einer Abfrage mit Event Scheduler

MySQL bietet eine Event Scheduler-Funktion, die Ihnen dies ermöglicht um Aufgaben basierend auf einem Zeitplan zu automatisieren. Um Ihre Abfrage zu planen, erstellen Sie zunächst die Tabelle „stock_dumps“ mit den angegebenen Feldern:

CREATE TABLE stock_dumps (itemcode VARCHAR(255), quantity INT, avgcost DECIMAL(10,2), ttlval DECIMAL(10,2), dump_date DATETIME);
Nach dem Login kopieren

Als nächstes erstellen Sie das Event Scheduler-Ereignis mit dieser Syntax:

CREATE EVENT `Dumping_event` ON SCHEDULE
        EVERY 1 DAY
    ON COMPLETION NOT PRESERVE
    ENABLE
    COMMENT ''
    DO BEGIN
INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
  FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
END;
Nach dem Login kopieren

Die Ausführung dieses Ereignisses ist geplant Jeden Tag werden die aktuellen Aktienbewertungsdaten in die Tabelle stock_dumps eingefügt.

Planen einer Abfrage mit Cron Jobs

Alternativ können Sie Cron-Jobs (Linux) oder geplante Windows-Aufgaben verwenden, um diese Aufgabe zu automatisieren. Erstellen Sie eine SQL-Datei mit der folgenden Abfrage:

INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date)
SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW()
FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
Nach dem Login kopieren

Planen Sie dann die Ausführung des folgenden Befehls im gewünschten Intervall:

mysql -uusername -ppassword < /path/to/sql_file.sql
Nach dem Login kopieren

Mit diesem Ansatz können Sie das Planungsintervall anpassen und führt die Abfrage über die Befehlszeilenschnittstelle aus.

Wählen Sie die Methode, die Ihren Anforderungen am besten entspricht, und automatisieren Sie Ihre MySQL-Abfragen für einen effizienten Datenabruf und Analyse.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Abfragen so planen, dass sie automatisch in festgelegten Intervallen ausgeführt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage