postgresql , 10.0 , 多核并行增强 , shared hash表 , hash join
postgresql 9.6支持哈希join并行,但是每个worker进程都需要复制一份哈希表,所以会造成内存的浪费,小表无妨,但是大表的浪费是非常大的。
因此10.0做了一个改进,使用共享的哈希表。
这个patch的讨论,详见邮件组,本文末尾url。
postgresql社区的作风非常严谨,一个patch可能在邮件组中讨论几个月甚至几年,根据大家的意见反复的修正,patch合并到master已经非常成熟,所以postgresql的稳定性也是远近闻名的。
<a href="https://commitfest.postgresql.org/13/871/">https://commitfest.postgresql.org/13/871/</a>
<a href="https://www.postgresql.org/message-id/flat/caeepm=2w=cokizxcg6qifqp-dhue09aqtremm7yjdrhmhdv_ra@mail.gmail.com#caeepm=2w=cokizxcg6qifqp-dhue09aqtremm7yjdrhmhdv_ra@mail.gmail.com">https://www.postgresql.org/message-id/flat/caeepm=2w=cokizxcg6qifqp-dhue09aqtremm7yjdrhmhdv_ra@mail.gmail.com#caeepm=2w=cokizxcg6qifqp-dhue09aqtremm7yjdrhmhdv_ra@mail.gmail.com</a>