想知道是否有办法让SQL语句更快。
UPDATE table_one SET column_x = table_two.column_x FROM table_two
WHERE table_one.column_y = table_two.column_y;
目前上述查询已运行了3个多小时。关于如何加快速度的任何建议?
详细信息:
我在拥有120GB RAM和22个核心的VM上运行Postgresql 9.3。
答案 0 :(得分:3)
您至少不需要更新所有记录:
UPDATE table_one
SET column_x = table_two.column_x
FROM table_two
WHERE table_one.column_y = table_two.column_y
AND table_one.column_x != table_two.column_x;
同样可能有帮助的是为两个表创建字段x和y的索引。