- 定义:
分区表就是按照某种规则将同一张表的数据分段划分到多个位置存储。对数据的分区存储提高了数据库的性能,被分区存储的数据在物理上是多个文件,但在逻辑上仍然是一个表,对表的任何操作都跟没分区之前一样。在执行增、删、改、查等操作时,数据库会自动找到对应的分区,然后执行操作。
1、MySQL从5.1.3开始支持分区(Partition)
2、在MySQL 8.0中,只有InnoDB和NDB两个存储引擎支持分区
- 分区表的好处
1、可以存储更多数据
2、便于管理
3、提升查询效率
4、涉及聚合函数的查询,可以很容易进行并行处理
5、提高查询吞吐量
- 分区表的四种类型
1、range分区:Range分区是基于属于一个给定连续区间的列值,把多行分配给分区。Range分区常用。
#Range分区示例
create table user_range(
id int not null auto_increment,
name varchar(30) ,
age int,
birthday date,
province int,
primary key(id, age)
)# 主键必须包含分区字段
partition by RANGE(age) (
partition p1 VALUES LESS THAN (20),
partition p2 VALUES LESS THAN (40),
partition p3 VALUES LESS THAN (60),
partition p4 VALUES LESS THAN MAXVALUE
);
insert into user_range values (1,'zhangsan',