分区:partition
将某张表的数据分别存储到不同的区域当中
其实:每个分区,就是独立的表,都要存储改分区数据的数据,索引等信息
创建分区:
在创建表是,指定分区的选项:
Create table table_name(
定义
)
Partition by 分区算法(分区参数)分区选项
分区算法:
Mysql提供4种
取余:key,hash
列表:list,range
//哈希算法,引擎innodb
//如果是innodb就要设置一下:
set global innodb_file_per_table = 1;
create table partition_1 (
id int UNSIGNED not null AUTO_INCREMENT,
title varchar(255)
PRIMARY KEY (id)
)
engine = innodb
partition by key (id) partitions 5;
//哈希算法,引擎myisam
create table partition_1 (
id int UNSIGNED not null AUTO_INCREMENT,
title varchar(255)
PRIMARY KEY (id)
)
engine = myisam
partition by key (id) partitions 5;
show create table partition_1\G
//查看创建号的分区
会多出着几个文件
Tip:分区域存储引擎无关,是MySQL逻辑层完成的。
通过变量查看mysql是否支持分区,YES是支持
show variables like 'have_partitioning';