postgresql表分区

pg的表分区实际就是所说的分表,pg的表分区的是采用继承表的方式。

表继承所有父表的检查与约束都会被子表继承,主外键关系不会。一个子表可以继承多个父表,修改父表的表结构时,大多数情况下也会修改子表的结构定义。

分区表就是把逻辑上的一个大表分割成物理上的几个小块。

好处:1、delete数据更快,只需要delete一个子表即可,pg在删除大数据时候会很慢,容易导致VACUUM超载(pg修改或者删除并不是直接修改或者删除,而是新增vacuum存在老数据,直到没有其他连接使用时候autovacuum才会真正删除数据)

2、建子表后,可以单独建立各自的索引,使用较高的缓存

3、很少用到的历史数据可以使用表空间技术移动到便宜的存储介质上。使用分区表可以将不同的分区安装在不同的介质上。

多大的数据应该分区,有一个基本简单的原则,即表的大小超过了数据库服务器的内存。使用分区表时候,数据都存储在子表中,父表为空。

路由数据可以使用触发器或者规则。大部分情况下都是用触发器

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...