我有一个用access编写的应用程序,它有一个SQL服务器后端。最常用的部分之一是用户选择一个问题的答案,然后触发一个存储过程,看看是否已经给出了答案,是否执行了UPDATE,如果没有执行INSERT。
这工作得很好,但现在我们已经升级到SQL server 2008 express,我想知道重写这个SP以使用新的MERGE命令是否会更好/更快/更高效。
有没有人知道这是否比先执行SELECT再执行INSERT或UPDATE更快?
发布于 2010-03-22 22:19:31
不值得你费这个力气。可能是可行的,但它不会给你带来任何值得注意的东西。
MERGE特别针对数据仓库,在数据仓库中,找出要插入/更新的内容是很棘手的部分。它允许所有操作(insert、update)通过一组合并来完成,而每个条件只需要一组合并。在您的情况下,这并没有真正的区别。
我有一个数据库,我将300 -500万行数据上传到一个3亿行的表中-- merge将我的性能提高了50% (一次表扫描而不是两次扫描)。
https://stackoverflow.com/questions/2492750
复制相似问题