Javascript stackoverflow上的1000万个问题计数器是如何制作的?
Stackoverflow正在庆祝1000万个问题。恭喜你 为我们提供此链接: 显示3个计数器,每个计数器的数量快速增加,而不是静止的 但是,我没有看到显示每个计数器最近结果的AJAX请求 我在我们的论坛上也得到了这样一个计数器,但是为了获得最近的帖子数量,我每3秒钟做一次AJAX请求,运行查询Javascript stackoverflow上的1000万个问题计数器是如何制作的?,javascript,php,mysql,count,stackexchange-api,Javascript,Php,Mysql,Count,Stackexchange Api,Stackoverflow正在庆祝1000万个问题。恭喜你 为我们提供此链接: 显示3个计数器,每个计数器的数量快速增加,而不是静止的 但是,我没有看到显示每个计数器最近结果的AJAX请求 我在我们的论坛上也得到了这样一个计数器,但是为了获得最近的帖子数量,我每3秒钟做一次AJAX请求,运行查询选择MAX(id)作为forumposts的总帖子显示 我知道,这不是我们的最佳解决方案,如果一篇文章被删除,它将不再正确。使用selectcount(id)命令速度太慢,因为我们也有1000多万篇文章
选择MAX(id)作为forumposts的总帖子显示
我知道,这不是我们的最佳解决方案,如果一篇文章被删除,它将不再正确。使用selectcount(id)
命令速度太慢,因为我们也有1000多万篇文章
那么,Stackoverflow如何在没有任何请求的情况下显示其计数器的增加?这对我来说似乎是一个更好的解决方案,我也希望在我们的论坛上使用它。它使用WebSocket。您可以从“网络”选项卡中看到它。
wss://qa.sockets.stackexchange.com/
从请求中,看起来每次都会得到一个总计数。
SQL计数缓慢
穷人提高性能的方法是通过创建一个跟踪行计数的表来跟踪统计数据。您必须确保每次删除或添加新记录时都更新该表。在你这么做之前,先研究一下索引和下面的问题
更适合meta-tbh这里有一些关于meta的相关问题,比如这个问题,它会随着平均问题的提交而增加,不需要ajax请求,您可以通过监视此页面@rjdown来了解它。他的问题与那个问题不同是的,我的问题与meta讨论不同。寻找一个解决方案,事实上,我可以想象它是某种平均值。因为它不是静态增加的,我很感兴趣,似乎更落后于…我看到了这一点。现在阅读关于WebSocket的文章。它是服务器和客户端之间的通信协议。你认为每个柜台的背景是什么?Stackoverflow是否真的每毫秒就从数据库中计算出数百万/数十亿个问题、编辑、投票等,以发送正确的数字?我假设这些统计数据是根据过去几年的平均值生成的。每隔一两秒钟从数据库中请求所有这些统计数据将导致服务器资源的大量消耗,而不会有任何大的收益。@如果他们也不能依靠数据库来统计所有记录,他们可能有一个只保存统计数据的表。但我们真的不知道…一个统计表是有意义的,但即使这样,这个动态(非静态)增长的数字是如何来的?既然只有这样才能回答这个问题,你会怎么做这样的计数器(非静态)?@lickmycode我不明白你在问什么。。。。每次添加/删除记录时都必须更新统计表