Mysql按时间进行表分区
以下是创建一张测试表TEST并且按照时间CREATE_TIME创建RANGE分区,并使用ID创建hash分区,组成复合分区。
CREATE TABLE TEST (
CREATE_TIMEDATETIME DEFAULT NULL, ID
BIGINT(15) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8
PARTITION BY RANGE(TO_DAYS(CREATE_TIME)) PARTITIONS 7 SUBPARTITION BY HASH(ID) SUBPARTITIONS 16
(PARTITION P1710
VALUES LESS THAN (TO_DAYS ('2017-10-01'))
(SUBPARTITION P1710sp0
,SUBPARTITION P1710sp1
,
SUBPARTITION P1710sp2
,SUBPARTITION P1710sp3
,
SUBPARTITION P1710sp4
,SUBPARTITION P1710sp5
,
SUBPARTITION P1710sp6
,SUBPARTITION P1710sp7
,
SUBPARTITION P1710sp8
,SUBPARTITION P1710sp9
,
SUBPARTITION P1710sp10
,SUBPARTITION P1710sp11
,
SUBPARTITION P1710sp12
,SUBPARTITION P1710sp13
,
SUBPARTITION P1710sp14
,SUBPARTITION P1710sp15
),
PARTITION P1711
VALUES LESS THAN (TO_DAYS ('2017-11-01'))
(SUBPARTITION P1711sp0
,SUBPARTITION P1711sp1
,
SUBPARTITION P1711sp2
, SUBPARTITION P1711sp3
,
SUBPARTITION P1711sp4
, SUBPARTITION P1711sp5
,
SUBPARTITION P1711sp6
, SUBPARTITION P1711sp7
,
SUBPARTITION P1711sp8
, SUBPARTITION P1711sp9
,
SUBPARTITION P1711sp10
, SUBPARTITION P1711sp11
,
SUBPARTITION P1711sp12
, SUBPARTITION P1711sp13
,
SUBPARTITION P1711sp14
, SUBPARTITION P1711sp15
),