我的后台处理是批量更新/插入数据。我需要将一些数据存储在临时表中,以便以后使用。我有5张临时桌子。如果使用临时表(CREATE #T),则需要2-3秒,但如果使用TABLE变量(声明@T表),则需要超过90秒。这是一个样本临时表,
CREATE TABLE #TempAttributes
(
AID int
,PID int
,ATypeValue nvarchar(MAX)
,ATypeKey nvarchar(MAX)
,PLanguageID int
);
为什么表变量非常慢?
发布于 2014-01-23 11:17:48
我想这是因为表变量插入不支持并行计划。
并行查询处理是在MsSql中实现的并行查询的优化过程,临时表从中受益,而表变量则没有。
这是为什么我们不对大数据集使用表变量的主要原因之一(当作用域无关时)。
有关更多信息,请访问这里。
https://stackoverflow.com/questions/21305503
复制相似问题