範圍分割槽

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