了解索引

时间:2018-01-06 23:48:34

标签: sql-server indexing

以下是我对索引的理解,有人可以确认我是否遗漏了某些内容或某些内容不准确?

群集

  • 每张桌子只能有1个。
  • 根据您尝试创建的列的顺序存储数据。
  • 默认情况下,主键是聚簇索引。
  • 默认情况下,聚簇索引是行存储索引。

非聚集

  • 每张桌子最多可以有999个。
  • 数据没有以任何方式排序,它只是提供指针 根据索引中涉及的列,更快地访问您的数据。
  • 主键也可以是非群集的。
  • 默认情况下,非聚集索引是行存储索引。

列存储

  • 每张桌子只能有1张。
  • 每列与其余列分开存储。如果您有5列,那就是5页。
  • 更适合与事实表一起使用
  • 比rowstore使用更少的空间。
  • 细分存储在行组中。
  • 如果从中检索少量列,则更好 表

Rowstore

  • 更适合与OLTP数据库或维度一起使用。
  • 比columnstore使用更多空间。
  • 如果要从中检索大量列,则更好 表
  • 数据一次存储一行。

群集列存储索引

  • 如果您有一个聚簇列存储索引,则不能包含任何其他索引 表上的索引,包括非群集。如果是非群集的 已经存在,你必须先放弃它们。
  • 如果您有群集列存储索引,则不能在同一个表上拥有主键。

基本上,我只是想了解4之间的区别,哪种情况更适合什么,哪种情况不适合什么等等。

以上是我根据我的研究收集的内容。

我缺少什么重要的东西?有什么不对吗?

0 个答案:

没有答案