mysql - 针对时间变化数据的 View 与表的性能

标签 mysql view query-performance

我有一个新闻文章表,其中包含作者、发布时间和每篇文章的字数。该表相当大,包含超过一百万个条目,并且每天以 10,000 个条目的数量增长。

根据这些数据进行统计分析,以确定特定作者在特定时间窗口内发表的总字数(即每天每小时一个、每天一个、每天一个)月)与一段时间跨度的平均值相结合。以下是两个示例:

  • 作者 A 在 2011 年 11 月 4 日发表了 3298 字,两个月前平均每天发表 943.2 字(从 2011 年 9 月 4 日到 2011 年 11 月 3 日)
  • 作者 B 于 2012 年 1 月 21 日下午 1 点至 2 点期间发表了 435 字,在此之前的 30 天内,每天下午 1 点至 2 点期间平均发表了 163.94 字

当前的做法是通过 cron-job 在每个定义的时间窗口结束时启动一个脚本,该脚本计算计数和平均值并将其存储在每个时间窗口的单独表中(即每个小时窗口一个) ,每天一个,每月一个等等...)。

总和和平均值的计算可以很容易地在 SQL 中完成,所以我认为 View 可能是一个更优雅的解决方案,但我不知道对性能的影响。

View 是否是上述问题的适当解决方案?

最佳答案

我认为你可以使用具体化 View 。它在 MySQL 中并没有真正实现,但你可以用表来实现。 Look at

关于mysql - 针对时间变化数据的 View 与表的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583965/

相关文章:

java - 使用 MySQL 从 Spark Framework 和 Thymeleaf 中的数据库中删除用户

MySQL SUM 函数和 CASE 语句

ruby-on-rails - Rspec View 规范被 default_locale 破坏

具有 550M 行和 128MB 内存的 mysql 表

mysql - 使用 yii 框架测试和生产服务器部署 - 同步数据库更改

php - 如何使用php在输入标签中使用条件?

mysql - 过度使用 MySQL View

Android ImageView 缩放和平移问题

mysql - Sql存储过程速度问题

MYSQL - 哪个枚举性能更好 Enum ('Y' ,'N' ) 或 Enum ('1' ,'0' )