MySQLでスケジュールされたタスクを設定する方法の分析

MySQLでスケジュールされたタスクを設定する方法の分析

この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。ご参考までに、詳細は以下の通りです。

今日は毎日定期的に実行する必要があるタスクに遭遇しました。そのような機能はMySQLデータベースに用意されているので、整理して共有してみました。

1. まず、スケジュールされたタスクがオンになっているかどうかを確認します

イベントが有効になっているかどうかを確認します。

'%event_sche%' のような変数を表示します。

イベント プランを開くには:

グローバルイベントスケジューラを 1 に設定します。

イベントスケジュールを閉じるには:

グローバルイベントスケジューラを 0 に設定します。

イベントタスクを閉じる:

ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;

イベント タスクを開始するには:

ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;

イベントタスクを表示:

ショーイベント;

2. ストアドプロシージャを作成する

区切り文字 //
存在する場合はプロシージャを削除する p_test //
プロシージャ p_test() を作成する
始める
test(name, create_time) に値 ('testName', now()) を挿入します。
終わり//

3. このストアド プロシージャを呼び出すスケジュールされたタスクを設定します(2015 年 8 月 8 日の 1:00 から 10 秒ごとに実行されます)

存在する場合はイベントをドロップします e_test//
イベントの作成 e_test
スケジュールに従って 10 秒ごとに開始 タイムスタンプ '2015-08-08 01:00:00'
完了時に保存
する
始める
p_test() を呼び出します。
終わり//

注:イベント イベント: ON SCHEDULE スケジュールされたタスクでは、スケジュールされたタスクを設定する方法が 2 つあります。

1. AT タイムスタンプ。スケジュールされた単一のタスクを完了するために使用されます。

2. 毎回の時間(単位)数量時間単位[開始タイムスタンプ] [終了タイムスタンプ]。繰り返しスケジュールされたタスクを完了するために使用されます。

両方のスケジュールされたタスクでは、タイムスタンプは任意の TIMESTAMP および DATETIME データ型にすることができ、タイムスタンプは現在の時刻よりも大きい必要があります。

定期的にスケジュールされたタスクでは、時間 (単位) 数量は任意の NULL 以外の整数にすることができ、時間単位は YEAR、MONTH、DAY、HOUR、MINUTE、または SECOND のキーワードです。

ヒント: QUARTER、WEEK、YEAR_MONTH、DAY_HOUR、DAY_MINUTE、DAY_SECOND、HOUR_MINUTE、HOUR_SECOND、MINUTE_SECONDなどの他の時間単位も有効です。これらの非標準の時間単位を使用することはお勧めしません。

[完了時に保存しない]

ON COMPLETION パラメータは、「このイベントが再度発生しないとき」、つまり、単一のスケジュールされたタスクが完了したとき、または繰り返しスケジュールされたタスクが ENDS ステージに到達したときを意味します。 PRESERVE の機能は、実行後にイベントが削除されるのを防ぐことです。EVENT の特定の情報を表示するには、このパラメータを使用することをお勧めします。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL スケジュールタスク (EVENT イベント) を詳細に設定する方法
  • MySQL スケジュールタスクの実装と使用例
  • mysql スケジュールタスク (イベント イベント) の詳細な説明
  • Linux で MySQL スケジュール タスク バックアップ データを実装する方法
  • MySQL スケジュールタスク例チュートリアル
  • Linux で MySQL スケジュールタスクを実装する方法
  • MySQLのスケジュールタスクが正常に実行できない原因の分析と解決

<<:  Vueは時間カウントダウン機能を実装する

>>:  Linux でジャンクファイルをエレガントに削除する方法

推薦する

MySQL データベース シェル import_table データ インポート

目次MySQL Shell import_table データのインポート1. import_tabl...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

Ubuntu での MySQL および MySQL Workbench のインストール チュートリアル

Ubuntu に jdk をインストールする: [リンク] UbuntuにEclipseをインストー...

XHTML ブロックレベルタグの概要

* 住所 - 住所* blockquote - ブロック引用* center - 中央揃えブロック*...

Apache ab を使用して HTTP パフォーマンス テストを実行する

MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...

Ubuntu 20.04 IPアドレスを変更する方法の例

例:本日、前回のオフィスコラボレーションプラットフォーム実験の続きをしていたところ、仮想マシンは以前...

MySQL での大規模トランザクションによって発生する挿入の遅延ケースの分析

【質問】 INSERT 文は最も一般的な SQL 文の 1 つです。最近、MySQL サーバーが同時...

MySQL 8.0 の統計が不正確である理由

序文Oracle であれ MySQL であれ、新バージョンで導入された新機能は、一方では製品の機能性...

CSS3 フィルターの違いと応用の詳しい説明:ドロップシャドウフィルターとボックスシャドウ

標準 CSS3 を使用して要素の影の効果を実現するには、2 つの手順があります。1 つ目は一般的なb...

さまざまなターミナルで Mac が SSH 経由でリモート サーバーに接続する方法の説明

Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...

Linux サーバーで MySQL リモート接続を有効にする方法

序文以前の非MKレコードを再編成するためのMySQLの学習説明する有効になっていない場合、データベー...

動的なデジタル時計を実装するJavaScript

この記事では、JavaScriptで動的なデジタル時計を実装するための具体的なコードを参考までに紹介...

MySQL における ESCAPE キーワードの使用法の詳細な説明

MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...

JavaScript ステートメントの一般的な for ループの詳細な説明

JavaScript には、for、for in、for of、forEach ループなど、多くのル...

Linuxシステムにおける重要なサブディレクトリの問題について話す

/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...