我只是想知道有没有办法将一些php脚本与实际在服务器上运行的网页分开存放。
例如我有这个MySql查询; $ sql =“UPDATE用户SET连接= IF(现在() - last_access_time> 3,0,1)”;
基本上它会检查数据库中当前正在使用该网站的每个用户。 网站的要求迫使我几乎每一页每2秒做一次。
它似乎在服务器端创建了大量流量。那么有没有办法将这个查询与网站分开运行?或者有没有其他方法来解决这个问题?
答案 0 :(得分:1)
不确定如何抽象出这个特殊情况,但在我看来,您正试图在数据库中维护用户当前是否在网站上有效的记录。
相反怎么样?
在每个页面上运行:
$sql = "UPDATE users SET last_access_time = NOW() WHERE id=".$_SESSION['USERID'];
然后在您正在寻找具有连接的用户的脚本中,这样做:
$sql = "SELECT * FROM users WHERE last_access_time < NOW()-3";
现在运行它的方式,每当有人点击页面时,您的数据库服务器必须遍历每个用户,将状态设置为活动状态。相反,只有在您实际需要该信息时才能访问数据库。