范围分区
按范围分区的表以这样的方式分区,即每个分区包含分区表达式值位于给定范围内的行。范围应该是连续的但不重叠,并使用 VALUES LESS THAN
运算符定义。对于接下来的几个示例,假设你要创建一个表格,如下所示,以保存 20 个视频商店链的人事记录,编号为 1 到 20:
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-01-01',
separated DATE NOT NULL DEFAULT '9999-12-31',
job_code INT NOT NULL,
store_id INT NOT NULL
);
根据你的需要,可以通过多种方式按范围对此表进行分区。一种方法是使用 store_id
柱。例如,你可能决定通过添加 PARTITION BY RANGE
子句对表进行 4 种分区,如下所示:
ALTER TABLE employees PARTITION BY RANGE (store_id) (
PARTITION p0 VALUES LESS THAN (6),
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
MAXVALUE
表示一个整数值,该值始终大于最大可能的整数值(在数学语言中,它用作最小上限)。
基于 MySQL 官方文档 。