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