oracle存储过程update执行很慢(50多万条需要更新),求大神指点

2025-03-23 23:27:57
推荐回答(1个)
回答1:

哥们,使用中间表试试. 也许能快一些
-- 1.先把需要修改的数据查询出来 ,放入中间表1
DROP TABLE T_TABLE1;
CREATE TABLE T_TABLE1 AS SELECT * FROM T_TABLE WHERE ...;
DELETE TABLE T_TABLE1 WHERE ...;
-- fun_c(C) 代表C 字段更新逻辑的函数.
DROP TABLE T_TABLE2;
CREATE TABLE T_TABLE2 AS SELECT A,B,fun_c(C),... FROM T_TABLE1;
INSERT INTO T_TABLE1 SELECT * FROM T_TABLE2;