SQL SERVER 2012 ColumnStore索引

时间:2013-05-10 12:34:42

标签: sql sql-server sql-server-2012 columnstore

当我们在一个巨大的表上创建一个列存储索引时,它是否在磁盘上使用单独的物理存储来存储coulmn存储索引,或者它将基表的存储结构从row-stoarge更改为column store。

我的问题是,当我们在任何表上创建普通索引时,它使用单独的存储将索引的列数据存储到b树中而不影响基表,与列存储索引的方式相同吗?

2 个答案:

答案 0 :(得分:1)

索引(除了自身的聚集索引)存储在不同的位置,它们可以有自己的包装(允许空间进一步插入而树不会太平衡)甚至可以单独存储驱动:CREATE INDEX .... ON PRIMARY,SECONDARY等。您必须在创建索引并分配给文件之前创建SECONDARY和更多文件。索引分配给逻辑文件名。您可以通过将这些作为单个而非RAID驱动器来降低成本并提高速度,因为在失败的情况下可以重建索引而不会丢失数据。 http://msdn.microsoft.com/en-us/library/ms188783.aspxhttp://msdn.microsoft.com/en-us/library/gg492088.aspx

答案 1 :(得分:1)

SQL Server 2012中仅支持非群集列存储索引,因此不会重新组织表本身。

http://msdn.microsoft.com/en-us/library/gg492153.aspx

  

NONCLUSTERED

     

创建一个列存储索引,指定表的逻辑顺序。不支持聚簇列存储索引。