postgresql表分区

来源:互联网 发布:大学生找不到工作数据 编辑:程序博客网 时间:2024/06/05 14:09

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

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

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

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

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

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

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

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

0 0
原创粉丝点击