PHP和MySQL:检查表的数据是否已更改而不进行轮询?

问题描述

| 有没有一种方法可以测试MysqL表的数据是否已全部更改,而无需连接或查询。 这听起来可能很奇怪,但是在ASP.NET中,您可以设置sqlDependencies,这是在数据更改时发生的事件(因此您不必轮询数据库)。     

解决方法

可能不适合您的解决方案(特别是如果数据库的写入器与读取器不在同一应用程序空间中),但是如果在插入时将某个应用程序范围的变量设置为“最后更新”值,该怎么办? 尽管这样可以避免您直接轮询数据库,尽管如此,仍然可能对该应用程序进行一些轮询以获取该值。     ,您可以在触发器内使用UDF通过套接字发送消息。如果您无法开发自己的udf,则可以将sys_exec和telnet结合使用来解决问题。 http://bernardodamele.blogspot.ch/2009/01/command-execution-with-mysql-udf.html http://www.php.net/manual/de/function.socket-create.php 但要小心并做好异常处理,即套接字timout。