ホームページ >データベース >mysql チュートリアル >ストアド プロシージャを使用して MySQL の古い行の削除を自動化するにはどうすればよいですか?
古い MySQL 行を自動削除するためのストアド プロシージャ
MySQL は、定期的な削除などの自動タスクを可能にする強力なイベント スケジューラ機能を提供します。データベースからの古い行の数。この記事では、必要な機能を実現するためのストアド プロシージャの作成と利用に関するステップバイステップ ガイドを提供します。
イベント スケジューラのアクティブ化
最初の重要な手順は次のとおりです。 MySQL 内でイベント スケジューラが有効になっていることを確認します。これは、次のコマンドを使用して確認およびアクティブ化できます。
SHOW VARIABLES WHERE variable_name='event_scheduler'; SET GLOBAL event_scheduler = ON;
ストアド プロシージャの作成
7 日より古い行を自動的に削除するストアド プロシージャを作成するには、次のコマンドを実行します。次のコマンド:
DELIMITER $$ CREATE PROCEDURE delete_ageing_rows() BEGIN DELETE FROM table_name WHERE column_name < DATE_SUB(NOW(), INTERVAL 7 DAY); END; $$ DELIMITER ;
イベントスケジュール
次に、ストアド プロシージャが毎日午前 0 時に実行されるようにトリガーするイベントを設定します。
DELIMITER $$ CREATE EVENT delete_ageing_rows_event ON SCHEDULE EVERY 1 DAY STARTS '2023-03-20 00:00:00' ON COMPLETION PRESERVE DO CALL delete_ageing_rows(); END; $$ DELIMITER ;
使用状況の確認
イベントが意図したとおりに実行されていることを確認するには、次のコマンドを使用します。コマンド:
SHOW EVENTS; SHOW EVENT STATUS LIKE 'delete_ageing_rows_event';
考慮事項
これらの手順に従うことで、MySQL テーブルから古い行を効果的に削除し、クリーンな状態を維持する自動ストアド プロシージャを作成して実装できます。最適化されたデータベース。
以上がストアド プロシージャを使用して MySQL の古い行の削除を自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。