我看过几个执行计划示例,他们显示了“Nonclustered Index Insert Showplan Operator”。我继续创建了一个非聚集索引的表。
如果我插入并显示实际(或估计)执行。计划我看不到这个操作员。只有聚簇索引插入或表插入(取决于结构)。
使用版本SQL Server 2008 R2 Developer Edition。
我错过了什么吗?谢谢!
答案 0 :(得分: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
提供以下两个计划
在第一个计划中展开CI插入运算符的属性窗口显示