【发布时间】:2016-11-30 22:54:03
【问题描述】:
我想知道如何从 mysql 中的 unix_timestamp 获取 utc 日期时间。
但是,我不应该使用 CONVERT_TZ。
(因为无法在分区中使用时区功能。)
SQL 架构中出现错误...
CREATE TABLE `table` (
`idx` BIGINT(20) NOT NULL,
etc...
) ENGINE=InnoDB DEFAULT CHARSET=utf8
PARTITION BY RANGE( YEAR(CONVERT_TZ(from_unixtime(`idx` >> 24), @@session.time_zone, '+00:00')) )
SUBPARTITION BY HASH ( MONTH(CONVERT_TZ(from_unixtime(`idx` >> 24), @@session.time_zone, '+00:00')) )
SUBPARTITIONS 12 (
PARTITION p2016 VALUES LESS THAN (2016),
PARTITION p2017 VALUES LESS THAN (2017),
PARTITION p2018 VALUES LESS THAN (2018),
PARTITION p2019 VALUES LESS THAN (2019),
PARTITION p2020 VALUES LESS THAN (2020)
)
【问题讨论】:
-
对不起...错误... UTC_TIMESTAMP 是 UNIX_TIMESTAMP..
-
idxcolume 的最高 40 位是 UNIX_TIMESTAMP。 -
SUBPARTITION和BY HASH几乎总是无用的;使用它们的目的是什么?
标签: mysql partitioning