这里也有文档说明。
此次变更发布之前,新购 RDS MySQL 实例的默认时区为 SYSTEM 。当时间字段被高频访问时,实例可能会出现严重的性能问题。为了避免这一潜在风险,阿里云于 2021 年 5 月 30 日起将新购 RDS MySQL 的时区参数 default_time_zone 的默认值由 SYSTEM 变更为实例所在地域的 UTC 时区。
让我百思不得其解的问题是:”实例所在地域的 UTC 时区“到底是个什么时区,UTC 时区不就是全球统一的吗?实例所在地域在哪有关系吗??
这里假设就是 UTC 时区,跟地域无关。那么如果用当地时区的话,MySQL 会出现什么潜在的性能问题,是不是要把自托管的 MySQL 实例也改成 UTC 时区?
1
julyclyde 2021-06-09 17:32:12 +08:00
猜测:
system 时区就是 local 时区、数据的内部保存其实是 utc 时区 频繁访问的时候会导致来回转换 |
2
qwerthhusn OP https://dev.mysql.com/doc/internals/en/date-and-time-data-type-representation.html
感谢,明白了。但是这个应该只适用于 TIMESTAMP 类型,,对于 DATETIME 类型就不存在此问题了,因为 DATETIME 存的就是纯粹的月到秒和子秒,没有时区的东西。 |