运行独立的MySql查询

时间:2011-11-04 01:00:00

标签: php mysql

我只是想知道有没有办法将一些php脚本与实际在服务器上运行的网页分开存放。

例如我有这个MySql查询; $ sql =“UPDATE用户SET连接= IF(现在() - last_access_time> 3,0,1)”;

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

它似乎在服务器端创建了大量流量。那么有没有办法将这个查询与网站分开运行?或者有没有其他方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

不确定如何抽象出这个特殊情况,但在我看来,您正试图在数据库中维护用户当前是否在网站上有效的记录。

相反怎么样?

在每个页面上运行:

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

然后在您正在寻找具有连接的用户的脚本中,这样做:

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

现在运行它的方式,每当有人点击页面时,您的数据库服务器必须遍历每个用户,将状态设置为活动状态。相反,只有在您实际需要该信息时才能访问数据库。