MySQL Event Schedule
MySQL5.1の新機能でcronのようなタスクスケジューリングができるのでやってみた
DROP EVENT IF EXISTS sample_samples_evt;
# 最初にSQLデリミタを変えておく
DELIMITER |
CREATE EVENT
sample_samples_evt
ON SCHEDULE EVERY 10 MINUTE DO
BEGIN
DROP TABLE IF EXISTS samples_swap;
CREATE TABLE samples_swap SELECT * FROM sample;
ALTER TABLE samples_swap ADD FULLTEXT samples_sample_name_ftidx(name)
END |
DELIMITER ;
最初にデリミタを変えておかないと複数のSQLを登録できないので注意する。あとevent_schedulerのグローバル変数がOFFになっていると起動しないのでmy.cnfとかに以下を設定しておく
[mysqld]
event_scheduler = ON