| 引用MySQL表RANGE分区,新增,删除,重组,效率对比这篇文章的表作为示例。
 KEY分区管理key分区和hash分区比较相似。 创建表时进行分区CREATE TABLE `student_1` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `NAME` varchar(30) NOT NULL,
  `SEX` char(2) NOT NULL,
  `AGE` int(11) NOT NULL,
  `CLASS` varchar(10) NOT NULL,
  `GRADE` varchar(20) NOT NULL,
  `HOBBY` varchar(100) DEFAULT NULL,
  `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`,`AGE`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
PARTITION BY KEY(AGE) PARTITIONS 5;
 为现有数据的表进行分区常规分区ALTER TABLE `student_1` PARTITION BY KEY(AGE) PARTITIONS 5;
 线性分区ALTER TABLE `student_1` PARTITION BY LINEAR KEY(AGE) PARTITIONS 5;
 新增分区增加2个分区 ALTER TABLE student_1 add PARTITION partitions 2;
 减少分区减少3个分区 ALTER TABLE student_1 COALESCE PARTITION 3;
 查看分区的数据量SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 'student_1';
 删除分区当删除一个分区,该分区中所有的数据同时也被删除了。 ALTER TABLE student_1 DROP PARTITION p1;
 取消分区alter table student_1 remove partitioning;
 |