最近開發軟件項目時,在更新多個表時,遇到了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也能夠滿足需要。