Don*_*ool 13 mysql sleep stored-procedures
我有一个存储过程,我想永远运行,但在循环中睡一秒钟.当它醒来时,它会轮询一个表,看它是否应该做一些工作.工作只需要每分钟完成,因此不必担心轮询表会同时受到来自两个编写者的更新的影响.
存储过程中SLEEP()间隔的最佳方法是什么?实际上,如果它可以睡200毫秒,那将是很好的,但是一秒钟也会工作.
Rog*_*Ray 21
我遇到了同样的问题.经过谷歌搜索后,我发现我们可以使用
SELECT SLEEP(<seconds>);
Run Code Online (Sandbox Code Playgroud)
延迟我们的程序这么多秒.在你的情况下,使用
SELECT SLEEP(0.2);
Run Code Online (Sandbox Code Playgroud)
会没事的.
您可以使用:
DO SLEEP(0.2);
Run Code Online (Sandbox Code Playgroud)
参考:http : //dev.mysql.com/doc/refman/5.7/en/do.html
或者
SELECT SLEEP(0.2);
Run Code Online (Sandbox Code Playgroud)
参考:http : //dev.mysql.com/doc/refman/5.7/en/miscellaneous-functions.html#function_sleep
您不指定您正在使用哪个数据库,但通常实现您想要的目的的方法不是拥有无限运行的存储过程,而是拥有一些外部组件 - 例如调度程序或 MSSQL 中的 SQL Server 代理 - 每隔一段时间执行存储过程。
| 归档时间: |
|
| 查看次数: |
14871 次 |
| 最近记录: |