这会占用大量数据库资源吗?如何衡量预防问题


Will this eat up a lot of DB resources? How can I measure preventing issues?

我正在重新开发我的在线业务。在页面加载时,我想检查或更新各种内容。例如:

$db->update('UPDATE staff set status = 2 WHERE expires < '.time());
$db->update('UPDATE loginTokens set status = 2 WHERE expires < '.time());
$db->update('UPDATE matches set status = 2 WHERE expires < '.time());
etc. ( About 10 other updates so far ) 

代码上没有问题,我只是想确保这不会影响加载时间或最小化加载时间。

我正在使用PDO,我在我的网站的全局文件中有所有这些和更多的检查/DB更新。我想知道是否有具体的方法可以做到这一点。我读到过这样的更新应该在用户提交表单时进行,例如,在用户登录时会使其会员资格过期等。但由于各种原因,我有各种页面显示所有高级会员。我想让整个网站尽可能保持最新,而不会出现耗尽数据库资源等潜在问题。我想知道是否有更好的方法来做这件事,或者如果有一种方法可以在页面加载后启动这些更新,这样用户就不必等到这些事务发生。我还担心特定的更新会相互干扰,因为多个用户同时在网站上。

最明显的解决方案是在web请求处理中只更新当前用户,并使用cron作业在后台维护数据库。

如果您使用的SAAS平台的web进程数量有限,这一点尤为重要。