PostgreSQL分区表(分区表(partitioning)应用实例详解)应用实例详解
前言前言
项目中有需求要垂直分表,即按照时间区间将数据拆分到n个表中,PostgreSQL提供了分区表的功能。分区表实际上是把逻辑
上的一个大表分割成物理上的几小块,提供了很多好处,比如:
1、查询性能大幅提升
2、删除历史数据更快
3、可将不常用的历史数据使用表空间技术转移到低成本的存储介质上
那么什么时候该使用分区表呢?官方给出的指导意见是:当表的大小超过了数据库服务器的物理内存大小则应当使用分区表,
接下来结合一个例子具体记录一下创建分区表的详细过程。
创建分区表创建分区表
首先看一下需求,现在有一张日志表,现在需要按表中的操作时间字段(operation_time)分区,如下图:
这个需求就是一个典型的按时间创建分区表,首先看一下步骤:
1.创建父表
2.创建n个子表,每个子表都是继承于父表
3.定义一个规则(Rule)或触发器(Trigger),把对主表的数据插入重定向到合适的分区表
如上所示,整体的大步骤就分为以上三个,当然还可以有一些小的优化措施,比如对于每个分区,在关键字字段上创建一个索
评论0