PLSQL性能优化-merge into替代update

Merge into 和 update是SQL的两个更新语句,在大数据处理中,merge into比update更高效。

用法

update常用于单表更新,采用的类似nested loop的方式,每次更新都需要扫描全表。

update table1 a set a.flag= '1' 
where a.type_id = '1'

merge into选择的是hash join,对每张表做了一次 full table scan,只扫描一次,可以将两张表合成一张表,再进行查询,删除,更新。

merge into test1 using test2
on (test1.id = test2.id)
when matched then update
set test1.name = test2.name;

因为Merge into的这些特点,在大数据更新时,将update语句替换为merge into可以提高效率,缩短运行时间。

参考文章:

1.https://www.cnblogs.com/eastsea/p/4519759.html
2.https://wenku.csdn.net/answer/b02f14fa063212c22e24241d452e8501

你可能感兴趣的:(sql,大数据)