7 postgresql 10版本 分区表使用场景、创建删除、注意事项

pg10版本支持的内置分区:范围分区(range),列表分区(list),另外传统分区为触发器方式实现

为什么引入分区表

可以理解为分表,有这几种优势:

1、分区上顺序扫描提升性能,因为不会整体去扫描

2、可直接drop分区,delete分区是不一定清理数据的

3、使用分区表可以把数据放在不同磁盘上

使用分区表的时候要根据分区键来查询,才能提高效率,不使用分区键,会扫描所有子分区

重要参数:

constraint_exclusion:控制优化器,是否根据约束来优化查询

off:所有表不通过约束优化查询

partition:只对继承表和union all 子查询检查通过检索约束来优化查询

建议设置为partition

创建内置分区表

创建内置分区表的几个步骤:

1.创建父表,指定分区键和分区策略

2.创建分区,创建分区时须指定分区表的父表和子表的取值范围,注意分区键的范围不要有重叠

3.在分区上创建对应的索引,通常分区键上创建索引是必须的,非分区键的索引可以根据业务操作

创建内置分区表

指定分区策略为范围分区,分区键为create_time

postgres=# create table log_par (id serial ,user_id int4,create_time timestamp(0) without time zone) partition by range(create_time);
CREATE TABLE
创建分区,并设置分区的分区键范围
postgres=# create table log_par201706 partition of log_par for values from ( '2017-06-01') to ('2017-07-01')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值