我正在使用MySQL Connector / NET,我想检查表中是否有任何更改,通常我使用计时器,每次滴答时,都会检查新的更改。
但计时器不是一个好的解决方案。每次我的软件必须运行SELECT命令,这会浪费大量的时间和资源。我想使用Event而不是用于检查新更改的计时器。
有人告诉我你必须使用SOCKS或其他东西。任何人都有任何想法?
答案 0 :(得分:2)
正如aleroot指出的那样,如果您使用的是MSSQL,那么SqlDependency就是您正在寻找的答案。但是当您使用MySQL时,我们没有太多选择。
HTML 5中引入了一个称为WebSockets的概念。它是一种PUSH技术。虽然我不确定它是否可以在您的方案中使用,但请查看以下文章:http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/
剩下的选项是定期轮询数据库以查找数据的任何变化。请在下面找到一些建议,以减少服务器上的负载,同时仍然使用轮询:
1)如果未定期插入数据,则可以使用查询来检查行计数(而不是检索整个数据),并仅在当前和先前计数发生更改时检索数据。
2)您可以使用单独的表格,只要数据发生变化,就会使用触发器进行更新。您的应用程序可以定期查询新表,以确定父表中是否更改了任何数据。
尝试即兴创作解决方案并分享。