有沒有方法可以測試MySQL表的數據是否已經更改在所有,而無需連接或查詢。PHP&MySQL:檢查表的數據是否改變而不進行輪詢?
這可能聽起來很奇怪,但在ASP.NET中,您可以設置SqlDependencies,它們是數據更改時發生的事件(因此您不必輪詢數據庫)。
有沒有方法可以測試MySQL表的數據是否已經更改在所有,而無需連接或查詢。PHP&MySQL:檢查表的數據是否改變而不進行輪詢?
這可能聽起來很奇怪,但在ASP.NET中,您可以設置SqlDependencies,它們是數據更改時發生的事件(因此您不必輪詢數據庫)。
可能不適合您的解決方案(特別是如果db的編寫器與讀取器不在同一應用程序空間中),但如果在插入時將某些應用程序範圍變量設置爲Last updated的值。
這可以避免您直接輪詢數據庫,儘管可能仍然會對該值進行一些輪詢。
您可以使用觸發器內的UDF通過套接字發送消息。如果你不能開發你自己的udf,那麼也許sys_exec和telnet的組合就可以實現。
但要小心,並做好異常處理,即插座timout。
如果設置觸發器來記錄文件並檢查文件? – oblig 2011-05-26 16:29:05
即使這樣,他必須輪詢以檢查該文件是否已更新,對嗎? – CuriousCoder 2011-06-27 22:01:01
@hari,是的,但我相信檢查'filmtime'比連接數據庫並執行查詢要快得多。 – Greg 2011-06-28 08:19:51