範圍分割槽
按範圍分割槽的表以這樣的方式分割槽,即每個分割槽包含分割槽表示式值位於給定範圍內的行。範圍應該是連續的但不重疊,並使用 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 官方文件 。