当前位置: 代码迷 >> Sql Server >> merge语句表锁定的有关问题
  详细解决方案

merge语句表锁定的有关问题

热度:68   发布时间:2016-04-24 10:20:46.0
merge语句表锁定的问题
本帖最后由 tjw687492 于 2014-07-16 11:10:10 编辑
使用merge语句批量操作时,SQL会使用表锁,导致阻塞,这对业务操作是不可行的。
但是先update再insert的逐行操作,效率又十分低下,经测试耗时是merge方式的近5倍。

请问各位大牛,有什么好的解决方案没有?
------解决方案--------------------
分批更新 分批插入。
------解决方案--------------------
如果没有where条件,单纯UPDATE是会很慢,而insert,尽可能避免逐行insert
------解决方案--------------------
使用2个语句代替merge会不会更高效:
insert ... select ... from ... left join ... where ... is null
update ... from ... left join ... where ... is not null
  相关解决方案