当我们刚刚更新表时,MERGE语句是否是一个很好的选择?

时间:2017-01-02 12:09:40

标签: sql sql-server merge

我知道如果我们必须合并多个操作MERGE,则会使用(INSERT/UPDATE/DELETE)。但就我而言,我有procedure使用MERGE语句来更新columns中的tablemerge。但有时需要花费大量时间才能运行,这是不可预期的,因为数据不是那么大。那么是因为MERGE可以使用UPDATE还是应该将其更改为- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 语句?

1 个答案:

答案 0 :(得分:2)

我建议使用UPDATE。它经过了更多的尝试和测试,具有更少的错误,并且可以有更好的执行计划。阅读源代码时,更清楚地看到意图。

然而,语义并不总是相同的。

如果表格源有多行可以映射到目标行,那么MERGE将引发错误,UPDATE将无法确定地选择其中一个可能的选项。

如果这个语义对你很重要(你想断言只有一个匹配并且如果违反了这个错误)那么你可能想要坚持使用MERGE