Greenplum存储过程使用分区表将进行全表扫描

环境:Greenplum Database 4.2.1.0 , RHEL 5.4
问题: 之前用存储过程转换数据,其中一个表做分区,里面的逻辑先是删除日期参数的数据,然后用外部表导入再转换。最近由于装载了很多数据,发现后续增量加载超慢。 后来发现是“删除日期参数的数据”这个操作造成的,删除某一天数据执行的是全表扫描。但在psql命令中分区键能过滤。
解决方法: 在网上找到一篇跟我碰到情况类似的
大意是有两种方式避免,1. 涉及分区表使用动态sql   2. 升级至postgresql 9.2  , 这两种方法显能对gp是不靠谱的,只能用动态sql了, 苦了我们这帮用存储过程做数据转换的开发者。

作者: hqiang1984

量化自我,极简主义