执行计划SQL Server 2012中的列存储索引的指示不正确

时间:2015-01-30 18:33:07

标签: sql-server sql-server-2012 sql-execution-plan

我有SQL Server 2012 SP1开发人员版。我有一个包含单个表的测试数据库,有10M行和大约150列(大约133列为numeric,其余为NVARCHAR

我正在尝试使用列存储索引性能并将其与无索引方案进行比较。

我看到的是我在其中创建列存储索引的数据库,当我查看图形执行计划时,它没有显示列存储操作的图标,而是常规索引扫描。因为我只有一个索引就是列存储而没有其他非/聚簇索引我相信索引被用作列存储。

所以我的问题是,在我的环境中,正确的图标没有显示,或者我在这里缺少任何其他内容。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果它使用了columnstore,那么节点将显示正确的图标,并且也将被称为" Columnstore Index Scan"而不是"索引扫描"。

你能检查一下你桌面上是否真的没有常规的非聚集索引吗? (只需刷新并展开SSMS对象资源管理器中dbo.Test_PDMTable下的Indexes节点)

我相信你会在那里看到Cs_NcIdx_Test1索引,括号中说:(非唯一,非群集)。 列存储索引应该改为(Non-Clustered,Columnstore)。

<强>更新

  

图标/标签错误的可能原因可能是:使用较旧版本的SSMS连接到较新版本的SQL Server。