目录
一、分区表特点
1、概念:
分区表的核心是分而治之。将表数据分成更小的物理分片,减少搜索范围,以此可以查询提高性能。
分区表是关系型数据库中比较常见的对大表的优化方式,数据库管理系统一般都提供了分区管理,而业务可以直接访问分区表而不需要调整业务架构,当然好的性能需要合理的分区访问方式。
2、好处:
(1)改善查询性能
(2)增强可用性:单个小分区表损坏,不影响其他分区表的使用
(3)维护方便
(4)均衡I/O:PG的一个表只能放在一个表空间下,一个表空间只能在一个磁盘上。但是分区表是很多表,可以存储到不同的磁盘上,以达到均衡I/O的目的
3、特点:
(1)pg数据库表分区表的结构:
由主表(父表)与分区表(子表)组成。
主表是创建子表的模板,它是一个正常的普通表,正常情况下它并不储存任何数据;
分区表继承并属于一个主表,分区表中存储所有的数据;
主表与分区表属于一对多的关系,也就是说,一个主表包含多个分区表,而一个分区表只从属于一个主表。
(2)官方声明的分区实现方式:
a.继承分区:PG10版本以前都是用的继承分区(后续版本也可使用),但是管理相对麻烦。创建主表、分区表之后,还要创建存储过程、触发器等。继承分区的数据存储是依靠触发器,来把数据分发到不同的分区表内。
b.声明式分区:也叫原生分区,从PG10版本开始支持,相当于"官方支持"的分区表,也是最为推荐的分区方式。虽然与继承分区不一样,但是其内部也是用继承表实现的,只是不需要用户手动干预,使用起来更方便。
声明式分区支持:范围分区,list分区,hash分区。
本文章主要介绍这个分区方式。
c.第三方分区管理方式,比如pathman扩展等。
pathman可以让分区表的管理更丝滑。例如:新插入的数据,其值不在分区表范围内时,会插入失败。但是使用pathman,会自动创建一个default分区,将不满足分区范围的数据插入到default分区中,避免插入失败。
二、范围分区介绍
1、简介
范围分区表一般指的一个分区的范围,然后把满足条件的行存放在该分区中。
最常见的是以日期做为分区条件,根据时间段分为不同的分区,存放不同时间段的数据。

最低0.47元/天 解锁文章
1068

被折叠的 条评论
为什么被折叠?



