这是现实中的一个例子,但是我不推荐使用MySQL分区用于生产
CREATE TABLE t_log
(
ID
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键ID’,
VERSON
int(11) NOT NULL DEFAULT 0 COMMENT ’ 版本号’,
ACTIONS
varchar(100) DEFAULT NULL COMMENT ’ 操作记录’,
ADMINID
int(11) DEFAULT 1 COMMENT ‘管理员ID’,
IP
varchar(20) DEFAULT ‘1’ COMMENT ’ 登录Ip’,
CDATE
datetime NOT NULL COMMENT ‘添加时间’,
UDATE
datetime NOT NULL COMMENT ‘修改时间’,
PRIMARY KEY (ID
,CDATE
),
KEY ADMINID
(ADMINID
) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘日志表’
Time: 0.024s
ALTER TABLE blog
.t_log
PARTITION BY RANGE (year(CDATE
))
PARTITIONS 1
SUBPARTITION BY HASH (to_days(CDATE
))
SUBPARTITIONS 4
(PARTITION p0
VALUES LESS THAN (2020)
(SUBPARTITION s200
,
SUBPARTITION s201
,
SUBPARTITION s202
,
SUBPARTITION s203
))
Time: 0.057s
alter table t_log
ADD PARTITION (PARTITION p1
VALUES LESS THAN (2021)(
SUBPARTITION s210
ENGINE = InnoDB,
SUBPARTITION s211
ENGINE = InnoDB,
SUBPARTITION s212
ENGINE = InnoDB,
SUBPARTITION s213
ENGINE = InnoDB
))
Time: 0.054s