哈希分区。哈希分区主要是依据表的某个字段以及指定分区的数量。
创建表分区
要使用HASH分区来分割一个表,要在CREATE TABLE 语句上添加一个“PARTITION BY HASH (expr)”子句,其中“expr”是一个返回一个整数的表达式。它可以仅仅是字段类型为MySQL整型的一列的名字。此外,你很可能需要在后面再添加一个“PARTITIONS num”子句,其中num 是一个非负的整数,它表示表将要被分割成分区的数量。
create table user (
id int(20) not null,
role varchar(20) not null,
description varchar(50)
)
partition by hash(id)
partitions 10;
分区后,数据文件被分成10份:
缺点
『注意』如上创建user表,并将user表平均分为十个分区。比较有限制的就是需要知道表的数据有多少才能更好平均分配分区。