gpt4 book ai didi

sql - 我怎样才能加快这个更新和设置?

转载 作者:行者123 更新时间:2023-11-29 11:58:41 26 4
gpt4 key购买 nike

我有两个表,x 和 y

我创建了一个查询,用 y.col_p 列的总和更新 x.col_p,它们都匹配特定的日期和 ID。

UPDATE x 
SET col_p = (
SELECT sum(col_p)
FROM y
WHERE concat(x.mmonth, x.dday, x.yyear) = (concat(y.mmonth, y.dday, y.yyear))
AND x.ID = y.ID
)

这成功地用正确的值更新了列,但是执行需要 15 分钟,而且我还有大约 40 个类似的查询要像这样运行...那么我怎样才能加快速度呢?我认为集合中的函数和 where 正在杀死我。

最佳答案

我建议将查询写成:

UPDATE x 
SET col_p = (SELECT sum(col_p)
FROM y
WHERE x.yyear = y.yyear AND x.mmonth = y.mmonth AND
x.dday = y.dday AND x.ID = y.ID
);

然后确保您在 y(ID, yyear, mmonth, dday, col_p) 上有一个索引。

关于sql - 我怎样才能加快这个更新和设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46086699/

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