【问题标题】:Select ... union all. Difference between SQL server 2012/2014选择...联合所有。 SQL Server 2012/2014 之间的区别
【发布时间】:2014-08-27 20:45:30
【问题描述】:

我正在像这样插入大约 1.5k 行(30 列):

insert into table (col1,col2...)
select col1,col2... union all

sql server 2012:~30 秒

sql server 2014:~6 分钟

谁能解释一下为什么?

【问题讨论】:

  • 我们如何诊断?您没有提供有关 2 个安装的所有配置的详细信息。你确定数据库结构是一样的吗?您确实提供的信息不足。
  • 比较两台服务器上的执行计划。如果不同,则可能指向根本原因,例如缺少索引或状态统计信息。
  • 计划是一样的。如果我只做选择,2012/2014 的持续时间是不同的,就像插入一样,所以我认为这不是索引。 2014 年的日志空间更大。

标签: sql-server


【解决方案1】:

UNION ALLUNION这样的集合操作符在执行时会消耗更多的日志空间,所以尽量避免使用这些。可能是你的数据库日志空间从SQL SERVER 2012SQL SERVER 2014不同

【讨论】:

  • 你能引用任何东西来表明事实是这样还是猜测?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 2014-11-15
  • 1970-01-01
相关资源
最近更新 更多