PostgreSQL(二十六)分区表管理

目录

一、分区表特点

1、概念:

2、好处:

3、特点:

二、范围分区介绍

1、简介

2、范围分区实验:

三、list分区介绍

1、简介

2、list分区表实验

四、hash分区介绍

1、简介

2、hash分区表实验

五、混合分区介绍

1、简介

2、混合分区表实验

六、总结


一、分区表特点

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、简介

范围分区表一般指的一个分区的范围,然后把满足条件的行存放在该分区中。

最常见的是以日期做为分区条件,根据时间段分为不同的分区,存放不同时间段的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值