update group_cde c
set c.num=(
select sum(num)
from group_temp a
where a.group_id = c.group_id
);
这句话太慢了怎么办啊?用游标会快一点吗? 还是这句话快?
这里我想问的是update中要关联多表应该怎么样做才能快一点?
请大家指教,谢谢
...全文
11885打赏收藏
多表关联的Update更新很慢,怎么办?
update group_cde c set c.num=( select sum(num) from group_temp a where a.group_id = c.group_id ); 这句话太慢了怎么办啊?用游标会快一点吗? 还是这句话快? 这里我想问的是update中要关联多表应该怎么样做才能快一点? 请大家指教,谢谢
曾经作过类似的,大致方法如下,可以提高效率
1、创建一个临时表T,结构与C相同
2、通过C与A的关系查询:如下
INSERT INTO T
(
SELECT C.[OTHER COL],B.NUM
FROM group_cde C
,(SELECT A.GROUP_ID,SUM(A.NUM) AS NUM
FROM group_temp A
GROUP BY GROUP_ID
) B
WHERE B.[..]=A.[..]