1.分区算法
1.1.求余算法:
(1)key:按照内置的key算法运算结果
- 语法
create(.....)partition by key(字段/表达式) partitions 分组数;
- 使用
CREATE TABLE t_key(
id int not null auto_increment,
name VARCHAR(10) not null DEFAULT '',
PRIMARY KEY(id)
)ENGINE=Myisam DEFAULT CHARSET=utf8
PARTITION by KEY(id) PARTITIONS 2;
Mysql内置的分区功能,对于数据表永远对外只使用一张数据表,但是本质对数据进行拆分存储的,分区到那个区是由数据库自动区分的
- 注意:只有主键可以创建分区的,组合主键也可以
(2)hash:按照内置的key算法运算结果
- 语法
create(.....)partition by hash(字段/表达式) partitions 分组数;
1.2.范围区间算法
(1)list算法:in
- 语法
create(.....)partition by range(字段/表达式) (
partition 名称1 values less than(常量),
partition 名称2 values less than(常量),
partition 名称3 values less than(常量),
);