Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 合并与升级_Sql_Sql Server_Sql Server 2008_Tsql_Sql Merge - Fatal编程技术网

Sql 合并与升级

Sql 合并与升级,sql,sql-server,sql-server-2008,tsql,sql-merge,Sql,Sql Server,Sql Server 2008,Tsql,Sql Merge,我在access中编写了一个应用程序,它带有SQL server后端。使用最频繁的部分之一是,用户选择问题的答案,然后启动一个存储过程,查看答案是否已经给出,是否执行了更新,是否执行了插入 这很好,但现在我们已经升级到SQL server 2008 express,我想知道重写此SP以使用新的MERGE命令是否会更好/更快/更高效 有人知道这比先选择然后插入或更新要快吗?不值得这样做。可能是可行的,但它不会给你任何明显的东西 MERGE尤其针对数据仓库,在数据仓库中,找出要插入/更新的内容是一个

我在access中编写了一个应用程序,它带有SQL server后端。使用最频繁的部分之一是,用户选择问题的答案,然后启动一个存储过程,查看答案是否已经给出,是否执行了更新,是否执行了插入

这很好,但现在我们已经升级到SQL server 2008 express,我想知道重写此SP以使用新的MERGE命令是否会更好/更快/更高效


有人知道这比先选择然后插入或更新要快吗?

不值得这样做。可能是可行的,但它不会给你任何明显的东西


MERGE尤其针对数据仓库,在数据仓库中,找出要插入/更新的内容是一个棘手的部分。它允许使用一组合并完成所有操作(插入、更新),而不是针对每个条件执行一组合并。这对你的情况没有什么实质性的区别


我有一个数据库,其中我正在将300-500万行上传到一个3亿行的表中-那里的merge将我的性能提高了50%(一次扫描而不是两次)。

这是一个公平的观点,虽然我并不急于这样做,但我认为如果它确实像你所说的那样提供了更高的性能,那么它可能会出现在第二集中“微优化剧场”如果我在项目中有一些空闲时间,需要看起来很忙,“合并特别针对数据仓库”——对我来说听起来像胡说八道。