最近开发软件项目时,在更新多个表时,遇到了update更新速度慢的问题,于是求索,经测试发现merge into的速度真叫个快,是update比不了的。简直就是夏利与F1的较量。
语法格式如下:
Update语句:
update (表名1,表名2) set (表达式) where (条件)
Merge into语句:
merge into(表名1) using (表名2) on (条件) when matched then update set(表达式)
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也能够满足需要。