每40秒轮询一次,这个MySQL查询是否效率低下?
我有一个网页,每30秒自动更新一次用户列表和他们的评论 该网站一次最多可以有300-400个用户 因此,每隔30秒,通过AJA调用一个PHP脚本,该脚本运行以下命令:每40秒轮询一次,这个MySQL查询是否效率低下?,mysql,sql,polling,Mysql,Sql,Polling,我有一个网页,每30秒自动更新一次用户列表和他们的评论 该网站一次最多可以有300-400个用户 因此,每隔30秒,通过AJA调用一个PHP脚本,该脚本运行以下命令: SELECT `user` .*, by_user.name as updated_by "FROM `user` "LEFT JOIN `user` by_user ON ( `user`.last_updated_by = by_user.user_id )
SELECT `user` .*, by_user.name as updated_by
"FROM `user`
"LEFT JOIN `user` by_user ON ( `user`.last_updated_by = by_user.user_id )
WHERE `user`.active= 1 AND `user`.group_id =.$group_id.
AND `user`.last_updated > (NOW() - INTERVAL 30 SECOND)
最好不要立即使用日期计算和时间间隔,而是记录最后一次投票的日期时间,然后对照它进行检查?现在-对于查询,时间间隔30秒只执行一次,而且非常快。做其他事情的开销几乎肯定会对性能产生更坏的影响
如果复合索引处于活动状态,则组id、上次更新将使性能达到最佳
由于您在select中使用了u.*,因此我不会尝试为查询创建覆盖索引。现在-查询只需每隔30秒执行一次,而且速度非常快。做其他事情的开销几乎肯定会对性能产生更坏的影响
如果复合索引处于活动状态,则组id、上次更新将使性能达到最佳
因为您在select中使用了u.*,所以我不会尝试为查询创建覆盖索引。这两种方法应该给出相同的结果-计算速度非常快,并且在执行查询时只发生一次。查询的速度将在很大程度上取决于您索引了哪些字段等。这两种方法应给出相同的结果-计算速度非常快,并且在执行查询时只发生一次。查询的速度将在很大程度上取决于索引了哪些字段,等等