发布于 2026-09-10T10:59:43.111214Z · Tomas Vondra · pgsql-hackers

子查询上拉会让 jointree 的搜索空间迅速膨胀,规划阶段的内存也跟着失控。Tomas Vondra 写了一组补丁,在连接路径生成、等价类处理以及归并连接和哈希连接过程中释放临时子列表,极端场景下峰值内存从 9.3 GB 降到 6.1 GB。Andrei Lepikhov 在评审中指出 list_concat() 创建的是数组而不是简单引用,同类问题可能散布在代码库各处。内存分析这边,Valgrind 的 massif 可用。
子查询上拉会让 jointree 的搜索空间迅速膨胀,规划阶段的内存也跟着失控。Tomas Vondra 写了一组补丁,在连接路径生成、等价类处理以及归并连接和哈希连接过程中释放临时子列表,极端场景下峰值内存从 9.3 GB 降到 6.1 GB。Andrei Lepikhov 在评审中指出 list_concat() 创建的是数组而不是简单引用,同类问题可能散布在代码库各处。内存分析这边,Valgrind 的 massif 可用。
来源记录
- center.info_item · f9f96c290f6bab3f · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · f9f96c290f6bab3f · 2026-10-03T04:08:55.967155Z