从MySQL 8.0版本开始,就不允许创建 MyISAM 分区表了,只允许创建已经实现了本地分区策略的引擎。
到目前为止,只有InnoDB和NDB这两个引擎支持本地分区策略。
【1】实际测试
(1)数据库版本号
# 获取版本号
SELECT VERSION(); # 8.0.12
(2)建表(InnoDB引擎)
CREATE TABLE `t_innodb` (
`ftime` DATETIME NOT NULL,
`c` INT(11) DEFAULT NULL,
KEY (`ftime`)
) ENGINE=INNODB DEFAULT CHARSET=latin1
PARTITION BY RANGE (YEAR(ftime))
(PARTITION p_2017 VALUES LESS THAN (2017) ENGINE = INNODB,
PARTITION p_2018 VALUES LESS THAN (2018) ENGINE = INNODB,
PARTITION p_2019 VALUES LESS THAN (2019) ENGINE = INNODB,
PARTITION p_others VALUES LESS THAN MAXVALUE ENGINE = INNODB);
创建成功。
(3)建表(MyiSAM引擎)
CREATE TABLE `t_myisam` (
`ftime` DATETIME NOT NULL,
`c` INT(11) DEFAULT NULL,
KEY (