gpt4 book ai didi

postgresql - 我怎样才能加快这个更新声明

转载 作者:行者123 更新时间:2023-11-29 14:17:49 27 4
gpt4 key购买 nike

想知道是否有办法使下面的 SQL 语句更快。

UPDATE table_one SET column_x = table_two.column_x FROM table_two
WHERE table_one.column_y = table_two.column_y;

目前上面的查询已经运行了3个多小时。关于如何使其更快的任何建议?

详细信息:

  • table_one 有 1.9 亿条记录
  • table_two 有 3.9 亿条记录
  • 两个表中的column_x 和column_y 都是整数。
  • 两个表中的column_y都被索引了

我在 120GB RAM 和 22 核 Postgresql 9.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 创建索引。

关于postgresql - 我怎样才能加快这个更新声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com