概述
场景描述:
UPDATE TABLE_A SET TABLE_A.VALUE =(SELECT TABLE_B.VALUE FROM TABLE_B WHERE TABLE_B.NAME=TABLE_A.NAME);
解决方案:
MERGE INTO TABLE_A A USING TABLE_B B ON (A.NAME = B.NAME) WHEN MATCHED THEN UPDATE A.VALUE = B.VALUE;
原理:
update采用的类似nested loop的方式,对更新的每一行,都会对查询的表扫描一次;
merge into这里选择的是hash join,则针对每张表都是做了一次 full table scan,对每张表都只是扫描一次。
最后
以上就是英勇小兔子为你收集整理的UPDATE SELECT 操作导致的性能问题的全部内容,希望文章能够帮你解决UPDATE SELECT 操作导致的性能问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复