以下是我对索引的理解,有人可以确认我是否遗漏了某些内容或某些内容不准确?
群集
- 每张桌子只能有1个。
- 根据您尝试创建的列的顺序存储数据。
- 默认情况下,主键是聚簇索引。
- 默认情况下,聚簇索引是行存储索引。
非聚集
- 每张桌子最多可以有999个。
- 数据没有以任何方式排序,它只是提供指针
根据索引中涉及的列,更快地访问您的数据。
- 主键也可以是非群集的。
- 默认情况下,非聚集索引是行存储索引。
列存储
- 每张桌子只能有1张。
- 每列与其余列分开存储。如果您有5列,那就是5页。
- 更适合与事实表一起使用
- 比rowstore使用更少的空间。
- 细分存储在行组中。
- 如果从中检索少量列,则更好
表
Rowstore
- 更适合与OLTP数据库或维度一起使用。
- 比columnstore使用更多空间。
- 如果要从中检索大量列,则更好
表
- 数据一次存储一行。
群集列存储索引
- 如果您有一个聚簇列存储索引,则不能包含任何其他索引
表上的索引,包括非群集。如果是非群集的
已经存在,你必须先放弃它们。
- 如果您有群集列存储索引,则不能在同一个表上拥有主键。
基本上,我只是想了解4之间的区别,哪种情况更适合什么,哪种情况不适合什么等等。
以上是我根据我的研究收集的内容。
我缺少什么重要的东西?有什么不对吗?