加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – 在更长的时间段和时区存储统计信息

发布时间:2020-12-11 23:47:38 所属栏目:MySql教程 来源:网络整理
导读:目前,我正在开发一个项目,该项目计算数据并将其按ID存储在分析数据库中. 例如,阅读新闻文章的次数(因此有20个类别的数据存储为整数). 我们将数据存储在以下字段中: int user_id int value_type_id int值 日期时间日期时间 我们使用4个表,x_hour,x_day,x_wee

目前,我正在开发一个项目,该项目计算数据并将其按ID存储在分析数据库中.

例如,阅读新闻文章的次数(因此有20个类别的数据存储为整数).

我们将数据存储在以下字段中:
int user_id
int value_type_id
int值
日期时间日期时间

我们使用4个表,x_hour,x_day,x_week,x_month
这样,我们就不必计算潜在的数千甚至数百万条记录的数据.

需要动态计算数据并通过某些连接进行过滤.
这一切都没有问题,并且按照预期并以令人满意的速度工作.

接下来的问题.我们希望数据显示在查看它的用户的时区中,时区并不总是相同的,因为它可以是反对的,例如UTC-5或UTC 4.

由于我们将日期存储在UTC上,因此如果在午夜前一小时存储活动,则较大的间隔会将其视为昨天,即使它可能在该时区的同一天,因此我们在几天,几周和几个月的时间间隔存在问题.

我已经阅读了解决方案,添加24列来保存每个时区的数据,是否有人有不同的解决方案.

最佳答案 继续以UTC格式存储日期时间.

将用户的时区传递给查询.

使用CONVERT_TZ函数在SELECT中转换:

CONVERT_TZ(`datetimefield`,'UTC','Europe/Amsterdam')

‘欧洲/阿姆斯特丹’被适当的时区所取代.

只要您拥有此数据,您最好使用上述IANA时区字符串,而不是像“UTC-5”那样的偏移量.它将正确处理发生这种情况的地区的夏令时问题.

附加说明:https://dev.mysql.com/doc/refman/5.5/en/mysql-tzinfo-to-sql.html
– 该程序用于使用时区数据初始化MySQL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读