首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL计数性能与javascript对象/数组

MySQL计数性能与javascript对象/数组
EN

Stack Overflow用户
提问于 2011-10-11 20:39:15
回答 3查看 215关注 0票数 2

我有一个10分钟长的视频,人们可以停止视频并留下评论。时间(以秒为单位)和注释都保存在数据库中。可以在同一秒内留下多个注释。

当有可供查看的注释时,将显示一个图标。我使用的是10秒的窗口,所以在8秒留下的评论将在3- 13秒内可用。

我目前每2秒轮询一次数据库,使用

SELECT COUNT(*) AS count FROM comments WHERE time BETWEEN $time-5 AND $time+5

当有人单击图标查看评论时,我会从数据库中检索相关的评论。

在开始时获取所有注释,构建某种类型的javascript对象或数组,并使用自定义的介于两个对象之间的方法遍历对象,这会不会更好呢?

我知道这取决于我正在处理多少评论,但如果MySQL计数查询无关紧要,我不想经历构建javascript解决方案和运行性能测试的麻烦。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-11 21:23:20

我会从评论中只选择id+timestamp,然后在用户操作(点击,悬停)上加载评论本身,或者只是在电影进行时加载评论。这比每隔两秒查询一次数据库要好,因为与内存中的计算相比,HTTP请求通常相当慢。我认为这也比一次加载所有评论要好,因为加载评论数据可能会减慢最初的请求,而且可能大多数时候你根本不需要这些评论。缺点是用户永远看不到在初始加载后添加的评论,但我认为这是一个相当小的问题。

票数 1
EN

Stack Overflow用户

发布于 2011-10-11 20:43:24

该MySql查询将非常快,但请记住,一般来说,服务器请求要比在客户端执行所有操作慢得多。我首先(按照您的建议)将所有注释存储在一个JavaScript数组中,然后轮询该数组。这使得所有的处理都在客户端进行。如果您的服务器当天由于任何原因而变得很慢,它将特别有用。

:对于尼克的有效评论,我想答案取决于有多少评论。如果有负载(数千?)如果你希望每隔几分钟就会有新的评论发布,最好是不断地轮询服务器。

票数 3
EN

Stack Overflow用户

发布于 2011-10-11 20:44:39

我认为这更多的是基于网站获得的点击量--页面点击量越多,你运行的这些计数就越多。

当然,如果它们被正确地索引,你只会命中索引,但是构建一些东西来查询数据库一次,并为视频中的每秒准备一个包含(例如)一个数组元素的javascript数组,然后用相关评论的数量填充每个数组的值,如果你在网站上获得大量的点击量,效率会更高……

只值我的两便士。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7726153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档