MERGE与TRUNCATE和INSERT

Kev*_*hen 9 sql-server sql-server-2008

我最近升级到MSSQL 2008 R2并且想知道"新"合并函数是否比截断和插入更有效/更快,因为每个表有数百万行,因此更新表.如果有人能提供一些他们的表现数据,那将是很好的,但任何解释都会有所帮助!

Sch*_*zIT 1

不确定我是否正确理解了你的TRUNCATE观点INSERT。如果没有,请随时纠正我。

MERGE是一种对UPDATE现有行执行 an 操作的机制,或者在未找到现有行的情况下执行INSERT.

您建议TRUNCATEINSERT,这将删除 MERGE 的使用,因为一切都将是 INSERT。我不知道在这种情况下 a 是否会更快,因为我从未尝试过,但我认为决定是否使用orMERGE的部分确实会带来一些开销。MERGEUPDATEINSERT