PostgreSQL 11 preview - 分区智能并行JOIN (类似MPP架构,性能暴增)
标签
PostgreSQL , 并行join , 分区智能映射并行JOIN , hash 并行 , MPP
背景
PostgreSQL 10开始引入了内置分区表功能,当分区表与分区表发生JOIN时,大家想象一下,分区和分区能直接一对一JOIN,而跳过与其他分区JOIN吗?
实际上我们在单表上,通过HASH可以达到类似的目的,即分片与分片JOIN,这样可以把JOIN的数据集合变小,同时能使用并行:
《PostgreSQL dblink异步调用实现 并行hash分片JOIN - 含数据交、并、差 提速案例》
PostgreSQL 11对分区表进行了增强,分区表的JOIN在满足一定条件时,已类似MPP架构的JOIN,本文测试CASE,性能暴增2.4倍。
涉及开关如下
postgres=# show enable_partition_wise_join
