【问题标题】:What is difference between non-clustered index and non-clustered ColumnStore index非聚集索引和非聚集列存储索引有什么区别
【发布时间】:2017-09-06 05:00:04
【问题描述】:

我在 SQL Server 2012 中尝试了两种索引,但对语法感到困惑,两种类型的索引之间有什么区别还是两者都相同? 如果与他们在 sql 中创建新关键字列存储的原因相同。 提前谢谢你。

【问题讨论】:

  • 一个按行存储,另一个按列存储。见:docs.microsoft.com/en-us/sql/relational-databases/indexes/…
  • 感谢您的快速回复,请清除一件事。如果集群和非集群都保存数据行明智而不是如何快速响应添加非集群索引。
  • 它们完全不同。非聚集索引存储为允许在键上搜索的 B 树。非聚集列存储索引没有键,是索引中包含的列的独立压缩列存储。这是为了优化对少数列执行全扫描的查询。

标签: sql-server tsql sql-server-2012


【解决方案1】:

如下图所示,两个索引都组织为列,但 NCCI 是在现有行存储表上创建的,如下图右侧所示,而具有 CCI 的表没有行存储表。两个表都可以有一个或多个 btree 非聚集索引。

除此之外,关于数据如何存储在增量和压缩行组 中的物理结构是相同的,并且两种索引具有相同的性能优化,包括批处理模式运算符。但是,它们之间存在一些关键差异,下表列出了主要差异。

来源:- https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/07/18/columnstore-index-differences-between-clusterednonclustered-columnstore-index/

【讨论】:

  • 问题是询问NCI和NCCI之间的区别。不是 NCCI 和 CCI。
  • 同意@MartinSmith 先生。请分享您对 NCCI 与 NCI 的看法
猜你喜欢
  • 2010-09-10
  • 2011-05-21
  • 2023-03-10
  • 2013-08-07
  • 2011-04-23
  • 2020-09-15
  • 2011-07-01
相关资源
最近更新 更多