最近开发软件项目时,在更新多个表时,遇到了update更新速度慢的问题,于是求索,经测试发现merge into的速度真叫个快,是update比不了的。简直就是夏利与F1的较量。
语法格式如下:
Update语句:
update (表名1,表名2) set (表达式) where (条件)
Merge into语句:
merge into(表名1) using (表名2) on (条件) when matched then update set(表达式)
![1fc48bf3246f5d75b9d50b72b8aa6218.png](https://i-blog.csdnimg.cn/blog_migrate/d52de9086de2c1c5ace97691eddbfe51.jpeg)
merge into与update用法
Update语句:
update table1 a, table2 bset a.field1 = b. field1where a.field2 = b. field2
Merge into语句:
merge into table1 ausing (select field2 from table2) bon (a. field2 = b. field2)when matched thenupdate set a.field1 = b. field1
以上语句在数据量比较大的时候用merge into来更新数据库,速度很快,至于快到什么程度那要根据数据更新量来测试,但在数据量比较小的情况下用update也能够满足需要。