RANGE分区表是利用取值范围将数据分成区间,区间连续且不能重叠。
VALUES LESS THAN
CREATE TABLE emp1 (id INT NOT NULL,ename VARCHAR(30),hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31',job VARCHAR(30) NOT NULL, store_id INT NOT NULL) PARTITION BY RANGE(store_id)(PARTITION p0 VALUES LESS THAN (10), PARTITION p1 VALUES LESS THAN (20), PARTITION p3 VALUES LESS THAN (30));
range 分区适用于:
1、当需要删除过期的数据时,只需要简单地ALTER TABLE emp1 DROP PARTITION p0 来删除p0分区中的数据。
2、经常运行包含分区键的查询,MySQL只需扫描所在的区。如
EXPLAIN PARTITIONS SELECT COUNT(1) FROM emp1 WHERE store_id >= 5