通过计算来自另一个 table 的数据来更新列

Updating a column by counting data from another table

我有两个 table 比方说 A 和 B,我想通过将它们与 table A column2 进行比较来计算 table B 中 column2 的结果并更新它们table第1列。

我正在使用此处显示的脚本,但它需要很长时间,所以如果有人可以提供替代方案/更好更快,我将不胜感激option/script

UPDATE tableA
SET tableA.column1 = (SELECT COUNT(*)
                      FROM tableB 
                      WHERE tableA.column2 = tableB.column2)

使用专有的 UPDATE ... FROM 执行可以不是嵌套循环的连接:

UPDATE tableA SET tableA.column1 = tbc.count
FROM (SELECT column2,
             count(*) AS count
      FROM tableB
      GROUP BY column2) AS tbc
WHERE tableA.column2 = tbc.column2;