首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

关于update效率的一个很简单的有关问题 来看看

2012-11-09 
关于update效率的一个很简单的问题 高手进来看看有条语句UPDATE table1 PARTITION (P201206) aSET a.aa1(

关于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。
[解决办法]

探讨

UPDATE (SELECT /*+ BYPASS_UJVC*/
A.AA1, B.BB2
FROM TABLE1 A, TABLE2 B
WHERE A.AA1 = B.BB1)
SET AA1 = BB2

五年没来CSDN了,现在google搜索都很少进入到CSDN。

热点排行
Bad Request.