美文网首页js css html
SQL SERVER聚集索引

SQL SERVER聚集索引

作者: 大龙10 | 来源:发表于2022-10-15 17:03 被阅读0次

一、聚集索引

1、数据存储在数据页中

  表的数据是存储在数据页中(数据页的PageType标记为1),SqlServer一页是8k,存满一页就开辟下一页存储。

  如果表有聚集索引,那么一笔一笔物理数据就是按聚集索引字段的大小升/降排序存储在页中。当对聚集索引字段更新或中间插入/删除数据时,都会导致表数据移动(造成性能一定影响),因为它要保持升/降排序。

  注意,主键只是默认是聚集索引,它也可以设置为非聚集索引,也可以在非主键字段上设置为聚集索引,全表只能有一个聚集索引。

2、聚集索引字段特性

  一个优秀的聚集索引字段一般包含以下4个特性:

  • (A).自增长
    总是在末尾增加记录,减少分页和索引碎片。
  • (B).不被更改
    减少数据移动。
  • (C).唯一性
    唯一性是任何索引最理想的特性,可以明确索引键值在排序中的位置。
  • (D).字段长度小
    聚集索引键长度越小,一页索引页就可以容纳更多索引记录,进而减少索引B树结构的深度。

3、索引“键值”的唯一性

  索引键值唯一的话,它在每条记录里才可以正确指向源数据行RID。
  如果聚集索引键值不唯一,SqlServer就需要内部生成uniquifier 列组合当作聚集键保证“键值”唯一性;如果非聚集索引键值不唯一,就会增加RID列(聚集索引键或者堆表中的行指针)保证“键值”唯一性。

  • 为了“键值”唯一性,对于聚集索引,uniquifier 列只在索引值重复时增加。
    对于非聚集索引,如果创建索引时没定义唯一,RID会在所有记录增加,就算索引值是唯一的;如果创建索引时定义唯一,RID只在叶子层增加,用于查找源数据行,即书签查找操作。

4、字段长度小的优点举例

  • 查询执行的大部分开销是I/O

  • 例如,一个百万记录的表有一个int聚集索引,可能只需要3层的B树结构。
    如果把聚集索引定义在更宽的列(比如uniqueidentifier列需要16 字节),那么索引的深度会增加到4层。
    任何聚集索引查找需要4个I/O操作(确切的说是4个逻辑读),原先只要3个I/O操作。

  • 同样,非聚集索引里会包含聚集索引键值,聚集索引键长度越小非聚集索引记录也就越小,一页索引页就可以容纳更多索引记录。

5、参考资料

参考资料:https://www.jb51.net/article/143528.htm

相关文章

  • SQL SERVER聚集索引

    一、聚集索引 1、数据存储在数据页中   表的数据是存储在数据页中(数据页的PageType标记为1),SqlSe...

  • [SQL] 聚集索引,非聚集索引

    SQL Server提供了两种索引:聚集索引和非聚集索引。其中聚集索引表示表中存储的数据按照索引的顺序存储,检索...

  • SQL SERVER非聚集索引

    一、非聚集索引 1、非聚集索引 聚集索引是索引结构和数据一起存放的索引。类似于字典的正文,当我们根据拼音直接就能找...

  • SQL Server数据库高级进阶之索引优化实战演练

    一、SQL Server索引优化本质 二、SQL Server索引存储机制 三、SQL Server索引类型分类 ...

  • 索引设计指南

    Sql Server索引设计指南——脑图链接 参考资料:SQL Server 索引设计指南Clustered an...

  • SQL索引的作用(转载)

    深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引...

  • sqlserver索引

    SQL中的索引分为两种,一种为聚集索引和非聚集索引,下面介绍两者的异同。 一、聚集索引与非聚集索引: 1、聚集索引...

  • 聚集索引非聚集索引

    sql的索引有B+树和Hash结构两种,聚集索引和非聚集索引都是采用B+树索引。 聚集索引 定义:数据行的物理顺序...

  • SQL Server 索引

    索引是数据库规划和系统维护的一个关键部分。它们为SQL Server(以及任何其他的数据库系统)提供了查找数据和定...

  • 【SQL SERVER】索引

    索引概述 索引的存在主要为了提高数据检索速度,设计高效的索引对于获得良好的数据库和应用程序性能极为重要。 索引是对...

网友评论

    本文标题:SQL SERVER聚集索引

    本文链接:https://www.haomeiwen.com/subject/igtkzrtx.html