ホームページ  >  記事  >  データベース  >  スケジュールされたレポート作成のために MySQL クエリを自動化するにはどうすればよいですか?

スケジュールされたレポート作成のために MySQL クエリを自動化するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-26 15:47:09995ブラウズ

How Can I Automate MySQL Queries for Scheduled Reporting?

自動レポート用の MySQL クエリのスケジュール

MySQL では、事前定義された間隔で実行するクエリをスケジュールするための主な方法が 2 つあります。スケジューラと cron ジョブ/スケジュール済みジョブ。

1.イベント スケジューラ

イベント スケジューラは、指定した時間または間隔でイベントが発生するようにスケジュールできる MySQL の組み込み機能です。イベント スケジューラを使用してクエリをスケジュールするには:

  • stock_dumps などの履歴データを保存するテーブルを作成します。
  • CREATE EVENT 構文を使用してイベントを作成します。例:
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
  • 必ず START EVENT コマンドを使用してイベント スケジューラを有効にしてください。

2. Cron ジョブまたはスケジュールされたジョブ

MySQL バージョンにイベント スケジューラがない場合は、サーバー上で cron ジョブまたはスケジュールされたジョブを使用してクエリの実行を自動化できます。 cron ジョブ/スケジュールされたジョブを作成するには:

  • スケジュールするクエリを含む SQL ファイルを作成します。
  • 次のような適切なコマンドを使用して cron ジョブまたはスケジュールされたジョブを設定します。例:
mysql -uusername -ppassword < /path/to/sql_file.sql

注:

  • Cron ジョブまたはスケジュールされたタスクは MySQL の外部で構成する必要があります。
  • コマンドと設定手順はオペレーティング システムによって異なる場合があります。

両方のイベントスケジューラと cron ジョブ/スケジュールされたジョブは、MySQL クエリを自動化し、レポート目的で履歴データを維持する手段を提供します。要件に最も適合し、アプリケーションに必要な柔軟性を提供する方法を選択してください。

以上がスケジュールされたレポート作成のために MySQL クエリを自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。