GreenPlum分区表维护
greenplum的分区管理方式。添加分区、重命名分区、添加一个默认的分区、删除一个分区、清空一个分区、交换一个分区、分割一个分区,修改一个分区的模板等。
本文记录的比较详细,非常适合来学习。
在greenplum中,分区,是一个非常好的工具。尤其适合大表,在查询的时候,能分区裁剪,避免扫描其他无用分区。一般原则是,使用关联的主键做分布,使用时间来进行分区裁剪。这在很多情况下非常的有用。
分区也不是越多越好。一个表最终是写到文件上,对于一个带子分区的列存储模式的表,表最终写入文件的数量是:分区数 * 子分区 * 列。所以,很容易导致文件量过多,如:1000*1000*100,影响到性能。
万能法则:建新表、挪数据。如何将一个未分区的表,变成一个分区表?如果可以拆分的话,直接拆分。当遇到其他,无法直接解决的方式。都可以通过新建一张表,然后将旧表,重新插入到新表中。并更换新的表名。
以下内容,需要postgres版本10以后,(但是貌似gp集成的postgres 9版本也可以)以下内容是对表继承的抽象、封装。也能按表的继承封装来实现。