使用MERGE进行插入?

时间:2013-06-10 12:17:46

标签: sql sql-server tsql

我想问一下使用merge替换insert语句有什么缺点?如果我需要添加和更新数据,我为什么要为每个数据创建2个SP?为什么我不应该只使用一个带MERGE的SP?

2 个答案:

答案 0 :(得分:1)

只要你没有忘记将TOP(1)条款“无处不在”,如果你只是每SP呼叫合并一行,那么MERGE很好。

MERGE TOP(1)
...
USING ...
    SELECT TOP(1)
...

否则,在某些情况下,您必须非常谨慎地了解参数嗅探如何导致您的MERGE执行非常糟糕。

答案 1 :(得分:-1)

当您拥有少量数据时,合并将正常工作,但对于大数据,它将导致性能问题。所以最好创建两个单独的SP。