MySQLデータベースイベントスケジュール実行タスクの詳細な説明

MySQLデータベースイベントスケジュール実行タスクの詳細な説明

1. 背景

プロジェクトの業務が進むにつれて、データベース テーブルの数がどんどん大きくなり、ハードディスクの容量を常に占有することは避けられません。たとえ大きなスペースがあってもビジネスの成長をサポートできないため、不要なデータを定期的に削除する必要があります。私たちのプロジェクトでは、データのクリーニングが不十分だったため、テーブルが占めるスペースが 4G にも達しました。どれだけ怖いか考えてみてください...

ここでは、MySQL を使用してタイマー イベントを作成し、以前の不要なイベントを定期的にクリアする方法を紹介します。

2. コンテンツ

#1. イベントが delimiter// を呼び出すためのストアド プロシージャを作成する
存在する場合はプロシージャを削除する middle_proce//
プロシージャの作成 middle_proce()
始める
jg_bj_comit_log から削除します。WHERE comit_time < SUBDATE(NOW(),INTERVAL 2 MONTH);
テーブル jg_bj_comit_log を最適化します。
jg_bj_order_create から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_order_create を最適化します。
jg_bj_order_match から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_order_match を最適化します。
jg_bj_order_cancel から削除 WHERE created_on < SUBDATE(NOW(),INTERVAL 3 MONTH);
テーブル jg_bj_order_cancel を最適化します。
jg_bj_operate_arrive から created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_operate_arrive を最適化します。
jg_bj_operate_depart から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_operate_depart を最適化します。
jg_bj_operate_login から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_operate_login を最適化します。
jg_bj_operate_logout から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_operate_logout を最適化します。
jg_bj_operate_pay から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_operate_pay を最適化します。
jg_bj_position_driver から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_position_driver を最適化します。
jg_bj_position_vehicle から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_position_vehicle を最適化します。
jg_bj_rated_pa​​ssenger から、created_on < SUBDATE(NOW(),INTERVAL 3 MONTH) を削除します。
テーブル jg_bj_rated_pa​​ssenger を最適化します。
終わり//
デリミタ;

#2. イベントを有効にする (タイミングが機能するには、MySQL 定数 GLOBAL event_scheduler がオンまたは 1 である必要があります)
'event_scheduler' のような変数を表示する
グローバルevent_schedulerを'on'に設定する

#3、Evnet イベントドロップイベントが存在する場合は作成します middle_event;
イベントを作成 middle_event
スケジュールどおりに1日ごとに開始 '2017-12-05 00:00:01'
完了時に保存する ENABLE
middle_proce() を呼び出します。

#4、オープンイベント alter event middle_event on completion preserve enable;

#5. イベントを閉じる event alter event middle_event on completion preserve disabled;

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • PHP mysql_fetch_row を使用してクエリを実行し、データ行のリストを取得する方法
  • データベース管理に役立つ 5 つの MySQL GUI ツール
  • MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介
  • 単一の MySQL テーブル内の行数が 500 万を超えてはいけないのはなぜですか?
  • PHP は、mysqli および pdo 拡張機能を使用して、mysql データベースの実行効率をテストおよび比較します。完全な例
  • MySQL は、元のデータと同じデータがある場合、更新ステートメントを再度実行しますか?
  • IDEAはプロパティ設定ファイルを使用してMySQLデータベースに接続します。
  • MySQL でデータ復旧に binlog を使用する方法
  • Windows 10 での mysql5.5 データベース コマンドラインの中国語文字化け問題を解決する
  • JavaはMySQLデータベースに接続し、クエリを実行し、変更します
  • MySQLデータ行と行オーバーフローのメカニズムの詳細な説明

<<:  Vue3の状態管理の使用方法の詳細な説明

>>:  pagodaを使用してionCube拡張機能をインストールする方法

推薦する

Docker で Node.js をデプロイする方法

序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...

Linux ユーザー グループと権限の概要

ユーザーグループLinux では、すべてのユーザーはグループに属する必要があり、Linux には次の...

Vueはechartsを使用して組織図を描画します

昨日、円形のプログレスバー (Vue 円形プログレスバーを参照してください) についてブログを書きま...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

HTML での非同期ファイルアップロードの例

コードをコピーコードは次のとおりです。 <form action="/hehe&qu...

MySQLインデックスが失敗するいくつかの状況の分析

1. 最左プレフィックス原則 - 複数の列にインデックスが付けられている場合は、最左プレフィックス原...

シングルサインオン制御を実装するためのVueの完全なコード

参考までに、Vue シングル サインオンのデモをご紹介します。詳細を知りたい方のお役に立てれば幸いで...

階段を転がす特殊効果を実現する JavaScript (jQuery 実装)

皆さんもJDを使ったことがあると思います。ホームページには非常によく見られる機能があります。階段の特...

MySQL inndbジョイントインデックスを正しく使用する方法を徹底的に理解するためのケーススタディ

最近確認された5件のデータを照会するビジネスがあります。 `id`、`title` を選択 `th_...

elementui での el-cascader カスケードセレクタの実践

目次1. 効果2. メインコード1. 効果機能: インターフェイスから取得したデータを使用してオプシ...

MySQL の pid とソケットの詳細な説明

目次1. pidファイルの紹介2.ソケットファイルの紹介要約:ソケット ファイル: Unix ドメイ...

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

記事マインドマップマスター/スレーブ レプリケーションと読み取り/書き込み分離を使用する理由は何です...

バックエンドから返される 100,000 個のデータをフロントエンドでより適切に表示するにはどうすればよいですか?

目次予備作業バックエンド構築フロントエンドページダイレクトレンダリングsetTimeout ページン...

CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

基本的な準備この実装には、クラス名が ball である単純な div が必要です。 HTMLコード:...

Ubuntu mysqlログイン名とパスワードを表示および変更し、phpmyadminをインストールする

MySQLをインストールした後、ターミナルでmysql -u root -pと入力してEnterを押...