更新ORACLE,merge into速度让你想不到的快

最近开发软件项目时,在更新多个表时,遇到了update更新速度慢的问题,于是求索,经测试发现merge into的速度真叫个快,是update比不了的。简直就是夏利与F1的较量。

语法格式如下:

Update语句:

update (表名1,表名2) set (表达式) where (条件)

Merge into语句:

merge into(表名1) using (表名2) on (条件) when matched then update set(表达式)

更新ORACLE,merge into速度让你想不到的快

merge into与update用法

Update语句:

<code>update table1 a, table2 b
set a.field1 = b. field1
where a.field2 = b. field2/<code>

Merge into语句:

<code>merge into table1 a
using (select field2 from table2) b
on (a. field2 = b. field2)
when matched then
update set a.field1 = b. field1/<code>

以上语句在数据量比较大的时候用merge into来更新数据库,速度很快,至于快到什么程度那要根据数据更新量来测试,但在数据量比较小的情况下用update也能够满足需要。


分享到:


相關文章: