我有一个100m +行的大表和两个较小的行2m行ea。所有这三个表都有一列公司名称,需要发送给API进行匹配。我想从每列中选择字符串,然后合并为一列唯一字符串。PostgreSQL从三个不同的列中选择唯一身份证
我正在使用此响应的一个版本,但毫不奇怪,性能非常缓慢。 Combined 2 columns into one column SQL
SELECT DISTINCT
unnest(string_to_array(upper(t.buyer) || '#' || upper(a.aw_supplier_name) || '#' || upper(b.supplier_source_string), '#'))
FROM
tenders t,
awards a,
banking b
;
一个更高性能的方式来实现这一目标的任何想法?
更新:银行表是100米行最大的表。
注意:您正在尝试俾斯麦连接,导致100M x 100 x 100:= 1E12元组(然后在其上执行截然不同的操作)。这是你真正想要的吗? – wildplasser