2011-11-04 56 views
2

我只是想知道是否有任何方法来存储一些PHP脚本的独立于服务器上不断运行的实际网页。运行独立的MySql查询

例如我有这个MySql查询; $ sql =“UPDATE users SET connection = IF(NOW() - last_access_time> 3,0,1)”;

基本上它会检查当前正在使用该网站的每个数据库用户。 网站的要求迫使我每隔2秒就在几乎每一页上都这样做。

它似乎在服务器端创建了很多流量。那么有什么办法可以独立于网站运行这个查询吗?或者还有其他解决这个问题的方法吗?

回答

1

不知道如何抽象出这个特殊情况,但它看起来像我试图维护数据库中的记录是否用户当前在网站上处于活动状态。

这是怎么回事?

在每一页上运行此:

$sql = "UPDATE users SET last_access_time = NOW() WHERE id=".$_SESSION['USERID']; 
在脚本

然后,你正在寻找一个连接的用户做这种方式:

$sql = "SELECT * FROM users WHERE last_access_time < NOW()-3"; 

的方式你现在正在运行它,每次有人点击某个页面时,您的数据库服务器都必须运行每个用户,以将状态设置为活动状态。相反,你只能打你的db每次你实际上需要那个信息。