11

我有一个我正在编写的应用程序可以访问 SQL 服务器后端。最常用的部分之一是用户选择问题的答案,然后触发存储过程,查看是否已经给出答案,是否执行 UPDATE,如果没有则执行 INSERT。

这工作得很好,但现在我们已经升级到 SQL Server 2008 express 我想知道重写这个 SP 以使用新的 MERGE 命令是否会更好/更快/更有效。

有谁知道这是否比执行 SELECT 后跟 INSERT 或 UPDATE 更快?

4

1 回答 1

4

不值得努力。可能是可行的,但它不会给你任何值得注意的东西。

MERGE 特别针对数据仓库,其中找出插入/更新的内容是棘手的部分。它允许使用一组合并来完成所有操作(插入、更新),而每个条件只有一个。这对您的情况没有真正的影响。

我有一个数据库,我将 3-5 百万行上传到一个 3 亿行的表中 - 合并将我的性能提高了 50%(一个表扫描而不是两个)。

于 2010-03-22T14:19:31.150 回答