当我们在一个巨大的表上创建一个列存储索引时,它是否在磁盘上使用单独的物理存储来存储coulmn存储索引,或者它将基表的存储结构从row-stoarge更改为column store。
我的问题是,当我们在任何表上创建普通索引时,它使用单独的存储将索引的列数据存储到b树中而不影响基表,与列存储索引的方式相同吗?
答案 0 :(得分:1)
索引(除了自身的聚集索引)存储在不同的位置,它们可以有自己的包装(允许空间进一步插入而树不会太平衡)甚至可以单独存储驱动:CREATE INDEX .... ON PRIMARY,SECONDARY等。您必须在创建索引并分配给文件之前创建SECONDARY和更多文件。索引分配给逻辑文件名。您可以通过将这些作为单个而非RAID驱动器来降低成本并提高速度,因为在失败的情况下可以重建索引而不会丢失数据。 http://msdn.microsoft.com/en-us/library/ms188783.aspx和http://msdn.microsoft.com/en-us/library/gg492088.aspx
答案 1 :(得分:1)
SQL Server 2012中仅支持非群集列存储索引,因此不会重新组织表本身。
http://msdn.microsoft.com/en-us/library/gg492153.aspx
NONCLUSTERED
创建一个列存储索引,指定表的逻辑顺序。不支持聚簇列存储索引。