MySQL分区表, partition
MySQL分区表, partition 没有分区的表创建分区 partition management on a not partitioned table is not possible ALTER TABLE table0 PARTITION BY RANGE (to_days(field0)) ( PARTITION p201908 VALUES less THAN (737668), PARTITION p201909 VALUES LESS THAN (737698), PARTITION p201910 VALUES LESS THAN (737729), PARTITION p201911 VALUES LESS THAN (737759), PARTITION p201912 VALUES LESS THAN (737790) ) ALTER TABLE table0 PARTITION BY RANGE (to_days(field0)) ( PARTITION p202007 VALUES less THAN (to_days('2020-08-01')), PARTITION p202008 VALUES less THAN (to_days('2020-09-01')), PARTITION p202009 VALUES less THAN (to_days('2020-10-01')), PARTITION p202010 VALUES less THAN (to_days('2020-11-01')), PARTITION p202011 VALUES less THAN (to_days('2020-12-01')), PARTITION p202012 VALUES less THAN (to_days('2021-01-01')), ) 添加分区 alter TABLE table0 add PARTITION ( PARTITION p201908 VALUES less THAN (737668)); alter table table0 add PARTITION ( PARTITION pmax VALUES less than MAXVALUE); -- check partition size USE information_schema; SELECT PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME = 't0' and PARTITION_NAME='p0'; -- drop partition ALTER TABLE `db0`.t0 DROP PARTITION p0; 查看分区的存储情况 SELECT partition_name, PARTITION_DESCRIPTION, PARTITION_EXPRESSION, table_rows FROM information_schema.partitions WHERE table_name = 'table0' 查询 查询的where条件要写完整的时间范围, 只写> 或者只写<, 会导致查询所有的分区. ...