2012-10-02 128 views
0

有沒有辦法在預先定義的時間安排某些查詢的執行?
這是需要做的事情:
讓我們假設我有一些查詢,我需要在確定的時間內執行,因此,結果將在緩存中執行。
假設我需要創建一個惡魔/事件/腳本:
如果日等於2並且時間等於凌晨2:00,那麼

select * from books;
select * from users;
...調度查詢執行確定時間

回答

2

您可以使用MySQL的event scheduler

DELIMITER ;; 

CREATE EVENT foo ON SCHEDULE EVERY MONTH STARTS '2012-10-02 02:00:00' DO 
BEGIN 
    SELECT * FROM books; 
    SELECT * FROM users; 
END;; 

DELIMITER ; 
+0

非常感謝你。這正是我所需要的......我想我可以把許多查詢,而不僅僅是一個「DO」之後...... – user1600801

+0

@ user1600801:如果它們被包含在一個塊中,比如'BEGIN .. END' - 見上面。但是,請注意,如果查詢是*相同*,則只能從查詢緩存中檢索結果;緩存這些查詢是毫無意義的,因爲結果只能從表中直接讀取。 – eggyal

+0

非常感謝您的建議。我已經研究過緩存如何工作......我非常感謝你的幫助 – user1600801