在 MS SQL Server 中,将行插入表变量突然变得非常缓慢
Posted
技术标签:
【中文标题】在 MS SQL Server 中,将行插入表变量突然变得非常缓慢【英文标题】:In MS SQL Server, inserting Rows into a table variable became painfully slow all the sudden 【发布时间】:2010-11-30 18:04:24 【问题描述】:在 MS SQL Server 2008 中,将行插入表变量突然变得非常缓慢。 表变量以及查询和插入行的创建是在一个存储过程中完成的,它变得非常慢。
查询几乎立即完成,返回一个小集合(10 行,1 列 int),并且需要 50 秒以上的时间才能插入到表变量中。 我切换回临时表,这很好,操作在几微秒内发生。
【问题讨论】:
我们遇到了类似的问题,从连接中插入表变量非常慢。当只从一个源表中插入,然后在另一条语句中更新剩余的列时,它再次加速。 【参考方案1】:来自table (Transact-SQL)
修改表变量的查询 不生成并行查询执行 计划。 性能可能会受到影响 当表变量非常大时,或 复杂查询中的表变量, 被修改。在这些情况下, 考虑使用临时表
【讨论】:
以上是关于在 MS SQL Server 中,将行插入表变量突然变得非常缓慢的主要内容,如果未能解决你的问题,请参考以下文章
如何从MS SQL Server 2012中的不同表中减去连续的行?