如何从MySQL Workbench异步运行查询

时间:2017-03-31 07:25:10

标签: mysql events mysql-workbench

假设您要在数据库上运行查询,但是您知道查询需要很长时间才能完成,并且您无法直接访问运行MySQL的计算机,或者到与该机器有稳定连接的其他端点。你做什么的?

1 个答案:

答案 0 :(得分:0)

好吧,你创建一个执行必要查询的一次性事件。

这样的事情:

CREATE EVENT <event_name>
ON SCHEDULE 
AT CURRENT_TIMESTAMP + INTERVAL 10 SECOND
ENABLE DO 
BEGIN
    -- log the event started
    INSERT INTO EventLogs (`Name`, `Start`, `Query`)
    VALUES (<event_name>, CURRENT_TIMESTAMP, <query_string>);
    -- run the query
    ....
    ...    <query>
    ....
    -- log the event done
    UPDATE EventLogs 
    SET `Done` = CURRENT_TIMESTAMP 
    WHERE `Name` = <event_name>;
END

上述模板可以处理任意查询。