HASH 分区

通过 HASH 进行分区主要用于确保在预定数量的分区之间均匀分布数据。使用范围或列表分区时,必须明确指定要存储给定列值或列值集的分区; 通过散列分区,MySQL 会为你处理此问题,并且你只需要根据要散列的列值和分区表要划分的分区数指定列值或表达式。

以下语句创建一个在 store_id 列上使用散列的表,该表分为 4 个分区:

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,
    store_id INT
)
PARTITION BY HASH(store_id)
PARTITIONS 4;

如果不包含 PARTITIONS 子句,则分区数默认为 1。

基于 MySQL 官方文档