Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每40秒轮询一次,这个MySQL查询是否效率低下?_Mysql_Sql_Polling - Fatal编程技术网

每40秒轮询一次,这个MySQL查询是否效率低下?

每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 )

我有一个网页,每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 ) 
                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.*,所以我不会尝试为查询创建覆盖索引。

这两种方法应该给出相同的结果-计算速度非常快,并且在执行查询时只发生一次。查询的速度将在很大程度上取决于您索引了哪些字段等。

这两种方法应给出相同的结果-计算速度非常快,并且在执行查询时只发生一次。查询的速度将在很大程度上取决于索引了哪些字段,等等