关于update效率的一个很简单的问题 高手进来看看
有条语句
UPDATE table1 PARTITION (P201206) a
SET a.aa1=(SELECT b.bb2 from table2 b WHERE a.aa1 = b.bb1);
现在table1 有200W数据 表table2 有1W数据 我想把table1里面的表如果字段在table2里面有对应的话 把bb2字段赋给table1里面的aa1 我这边语句执行的太慢了 受不鸟了
本来想用merge into 的 语句这样写:
MERGE INTO table1 a
USING table2 b
ON (a.aa1=b.bb1)
WHEN MATCHED THEN
UPDATE SET a.aa1=b.bb2
但他提示‘无法更新on语句子句中引用的列:“A”,“aa1”’ 求解啊
------解决方案--------------------UPDATE (SELECT /*+ BYPASS_UJVC*/
A.AA1, B.BB2
FROM TABLE1 A, TABLE2 B
WHERE A.AA1 = B.BB1)
SET AA1 = BB2
五年没来CSDN了,现在google搜索都很少进入到CSDN。
------解决方案--------------------