MERGE INTO 解决大数据量复杂操作更新慢的问题

现我系统中有一条复杂SQL,由于业务复杂需要关联人员的工作离职三个表,并进行分支判断,再计算人员的字段信息,由于人员多,分支多,计算复杂等原因,一次执行需要5min,容易卡死,现在使用MERGE INTO解决。

MERGE INTO 表A USING 表B

ON 关联条件

WHEN MATCHED THEN 满足执行

WHEN NOT MATCHED THEN 不满足执行
MERGE INTO TABLE_A
USING (SELECT * FROM TABLE_C WHERE STUTAS=1 AND TYPE=11) TABLE_B
ON (TABLE_A.id=TABLE_B.id)
when matched then update set TABLE_A.NAME=TABLE_B.NAME

以上是针对当前情况的使用方法,带入我的SQL优化后只需要 323ms。

Oracle中的MERGE INTO:

https://docs.oracle.com/apps/search/search.jsp?category=all&q=MERGE+INTO&category=database

 

posted @ 2019-09-20 10:37  谁将新樽辞旧月,今月曾经照古人  阅读(1599)  评论(0编辑  收藏  举报