mysql定时器_MySQL

Jun 01, 2016 pm 12:59 PM
タイマー

mysql定时器既是mysql的事件,在实际开发中,我们有时候需要定时去执行一些操作,大部分人通过ScheduledExecutorService类去创建定时,这种如果遇到大数据的更新的时候,运行速度比较忙,这时候我们可以考虑使用mysql定时器去执行SQL脚本文件。

要使用mysql定时器。

首先必须启动调度器“event_scheduler”。

 

查看当前是否已开启事件计划(调度器)有3种方法:

1) SHOW VARIABLES LIKE 'event_scheduler';

2) SELECT @@event_scheduler;

3) SHOW PROCESSLIST;

开启事件计划(调度器)开关有4种方法:

1) SET GLOBAL event_scheduler = 1;

2) SET @@global.event_scheduler = 1;

3) SET GLOBAL event_scheduler = ON;

4) SET @@global.event_scheduler = ON;

其次是创建定时器事件,可以通过sql创建,也可以安装Navicat Premium(mysql客户端)创建。

1)通过sql创建定时器事件:

create event if not exists eventJob
on schedule every 2 second STARTS '2015-07-14 00:00:00'
on completion PRESERVE

ENABLE
do call mypro();

上述sql脚本中“eventJob ”为定时器事件名称,“mypro”为mysql函数或者存储过程。sql脚本表示从 '2015-07-14 00:00:00'开始,每2秒钟执行mypro()函数一次。当然也可以设置结束时间。

2) 通过客户端创建定时器事件:

\

如图中所示,call关键字后是需要执行的函数或者存储过程;状态表示定时器事件的状态,是否启用,enable表示启用,disable表示不启用,可以手动设置也可以通过sql来进行设置; on completion设置为“PRESERVE”。

\

“计划”中标签中,主要是设置定时器的频率和开始结束时间。AT表示,从当前mysql数据库时间开始(这个时间是从启动器启用开始,即当状态为“ENABLE”时),根据一定频率的执行;EVERY是自定义开始时间和结束时间;相对来书EVERY比较灵活,使用方便。

最后,当然是设置定时器事件的状态。

在上一步中,我们无论是sql创建还是客户端创建都可以设置状态,但是当我们没有设置状态或者说关闭定时器事件的时候,就需要执行sql

ALTER EVENT eventJob ON COMPLETION PRESERVE ENABLE; ---- 开启事件
ALTER EVENT eventJob ON COMPLETION PRESERVE DISABLE; ---- 关闭事件

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhoneのカメラにタイマーを設定する方法 iPhoneのカメラにタイマーを設定する方法 Apr 14, 2023 am 10:43 AM

iPhoneのカメラにタイマーを設定する方法

Javaで毎日スケジュールされたタスクを実行するためのタイマーを設定するにはどうすればよいですか? Javaで毎日スケジュールされたタスクを実行するためのタイマーを設定するにはどうすればよいですか? Dec 27, 2023 am 11:10 AM

Javaで毎日スケジュールされたタスクを実行するためのタイマーを設定するにはどうすればよいですか?

Workerman ドキュメントにタイマー機能を実装する方法 Workerman ドキュメントにタイマー機能を実装する方法 Nov 08, 2023 pm 05:06 PM

Workerman ドキュメントにタイマー機能を実装する方法

Javaタイマー式とは何ですか Javaタイマー式とは何ですか Dec 27, 2023 pm 05:06 PM

Javaタイマー式とは何ですか

Java で毎月のスケジュールされたタスクを設定するにはどうすればよいですか? Java で毎月のスケジュールされたタスクを設定するにはどうすればよいですか? Jan 11, 2024 pm 04:50 PM

Java で毎月のスケジュールされたタスクを設定するにはどうすればよいですか?

Go 言語ドキュメントの time.NewTimer 関数をマスターして単一のタイマーを実装する Go 言語ドキュメントの time.NewTimer 関数をマスターして単一のタイマーを実装する Nov 03, 2023 pm 02:19 PM

Go 言語ドキュメントの time.NewTimer 関数をマスターして単一のタイマーを実装する

タイマーはどのように機能しますか? タイマーはどのように機能しますか? Aug 16, 2023 pm 02:18 PM

タイマーはどのように機能しますか?

Phalconミドルウェア:アプリケーションにスケジュールされたタスクやタイマーの機能を追加 Phalconミドルウェア:アプリケーションにスケジュールされたタスクやタイマーの機能を追加 Jul 30, 2023 pm 06:08 PM

Phalconミドルウェア:アプリケーションにスケジュールされたタスクやタイマーの機能を追加

See all articles