【发布时间】:2015-09-10 14:55:31
【问题描述】:
当前情况:我有一个使用 AJAX/JQUERY 的网页每 17 秒刷新一次页面上的所有内容。每次发生这种情况时,服务器都会从两个表中查询数据库中的数据,其中一个很大(450MiB 大小,11 列)并处理所有数据。
这太耗费资源了。我要:
- 服务器仅在两个表之一发生更改时才查询数据库。
- 只有在表已更新且服务器已重新处理数据时,页面才会通过 AJAX 重新加载页面。
我认为这属于彗星编程的范畴。我不确定。
2 很简单。该网页每 17 秒(或更少)调用一次“update.php”。如果没有进行任何更改,PHP 脚本不会返回任何数据。仅当返回数据时,当前页面才会被新数据替换。如果有更好的方法,请告诉我。
至于 1,我的谷歌搜索告诉我,每次更新我的两个表中的一个时,我都可以在表中(或者可能只是文件中的一个字节)发出通知,以表明我必须再次查询数据库,然后下次网页发送 AJAX 请求时,我返回数据。
问题是我正在使用一个我没有编写的相当大的代码库,而且我不知道两个表中的任何一个都可能更新的所有地方。有没有更简单的方法来检查数据库何时被修改。
我正在使用 PHP、Apache、Drupal 和 MYSQL。
【问题讨论】:
标签: php jquery mysql ajax comet