You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postgres 9.4中超大客户表分区连接的最佳实践问询

超大客户表身份解析的连接性能优化问题

当前场景与查询语句

正在对两个超大客户表做身份解析,需按客户姓氏匹配,同时匹配包含昵称变体的名字,当前使用的SQL查询如下:

SELECT * FROM t1
INNER JOIN t2
ON t1.lname = t2.lname
AND t1.fname ~ t2.fname_regex

遇到的性能瓶颈

由于表数据量极大,尝试按姓氏首字母拆分查询后,仅筛选姓氏以字母"a"开头的数据,t1仍有67.1万行、t2有20.3万行,上述查询数小时无法完成。

需求咨询

希望将表按字母范围拆分为单块6.7万/2万行的规模,按对应字母范围的块逐一进行连接。请问这类分区连接是否有最佳实践?能否让Postgres自动按列生成字母分区、创建索引并逐块执行连接?

注:使用Postgres 9.4.26版本,无法升级。

补充说明

性能问题核心来自正则匹配:通过外部昵称数据集为每个名字生成类似(^robert$|^bob$|^rob$)的fname_regex,以此匹配昵称变体。若该正则方案无法优化,请问有什么推荐的实现方式?

额外补充

已提出新问题,内容为基于多可能值连接两表的性能优化(原英文问题已翻译为中文)


内容的提问来源于stack exchange,提问作者Spine Feast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 21:15:41