七叶笔记 » 数据库 » postgresql数据合并,多条数据合并成1条的操作

postgresql数据合并,多条数据合并成1条的操作

将10条主表数据对应的960条明细数据合并成如下24条数据:

补充:Postgresql中执行计划的合并连接

Merge Join

通常情况下,散列连接的效果比合并连接好,但如果源数据上有索引,或者结果已经被排过序,在执行排序合并连接时,就不需要排序了,这时合并连接的性能会优于散列连接。

下面示例中,people的id字段和dept01的depto字段都有索引,且从索引扫描的数据已经排好序,可以直接走Merge Join:

删除dept01上的索引,会发现执行计划中先对dept01排序后在走Merge Join,示例如下:

上面执行计划中,可看到“Sort Key: dept01.deptno”,这就是对表dept01的id字段进行排序。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。

相关文章