2012-07-31 36 views
2

我见过几个执行计划的例子,并且他们显示“Nonclustered Index Insert Showplan Operator”。我继续并创建了一个非聚集索引的表。非聚集索引插入Showplan运算符 - 缺少?

如果我插入并显示实际(或估计)执行。计划我不能看到这个运营商。只有聚簇索引插入或表插入(取决于结构)。

使用版本SQL Server 2008 R2开发人员版。

我错过了什么吗?谢谢!

回答

1

您可能需要插入更多数量的行才能将非聚集索引维护显示为单独的运算符。

您可以获得“wide”(每个索引)或“narrow”(每行)计划。

对于狭义计划,索引维护在计划中不显示为单独的运算符。在Management Studio中,您可以右键单击聚簇索引插入运算符,并在属性窗口中展开“对象”节点以查看此类型计划的受影响索引。

因此,例如

CREATE TABLE #T(
A INT CONSTRAINT PK PRIMARY KEY, 
B INT CONSTRAINT UQ UNIQUE) 


/*narrow plan*/ 
INSERT INTO #T 
SELECT 1,1 

/*wide plan*/ 
INSERT INTO #T 
SELECT DISTINCT number, number 
FROM master..spt_values 
WHERE number <> 1 

DROP TABLE #T 

提供了以下两个图

Plans

和扩大中第一个计划的CI插入运营商的属性窗口显示

Properties

+0

非常感谢你ch,非常有帮助。 – NeverStopLearning 2012-08-01 08:26:48