SQLServer索引基础知识----聚集索引,非聚集索引[归纳].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
SQL Server 索引基础知识----聚集索引,非聚集索引 SQL Server 索引是关系型数据库中的一种重要组件,它可以大大提高查询的效率。索引可以分为聚集索引和非聚集索引两种,本文将详细介绍这两种索引的概念、特点和应用。 一、B+ 树 在讨论聚集索引和非聚集索引之前,需要先了解 B+ 树的概念。B+ 树是一种自平衡的搜索树,它可以保证树的高度保持在一个相对稳定的范围内,从而提高查询的效率。B+ 树的结构图如下所示: B+ 树的特点包括: * 所有关键字都出现在叶子结点的链表中(稠密索引) * 链表中的关键字恰好是有序的 * 非叶子结点相当于是叶子结点的索引(稀疏索引) * 叶子结点相当于是存储(关键字)数据的数据层 二、聚集索引(Clustered Index) 聚集索引是一种特殊的索引,它的叶节点就是实际的数据页。在数据页中,数据按照索引顺序存储,行的物理位置和行在索引中的位置是相同的。每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的 5% 左右。 聚集索引的特点包括: * 叶节点就是实际的数据页 * 数据按照索引顺序存储 * 行的物理位置和行在索引中的位置是相同的 * 每个表只能有一个聚集索引 下面是一个简单的聚集索引示意图: 在聚集索引中执行查询语句的过程如下所示: select * from table where firstName = 'Ota' 三、非聚集索引(Unclustered Index) 非聚集索引是一种普通的索引,它的叶节点不是数据,而是指向数据页的页。非聚集索引的特点包括: * 叶节点不是数据,而是指向数据页的页 * 叶节点的次序和表的物理存储次序不同 * 每个表最多可以有 249 个非聚集索引 * 在非聚集索引创建之前,需要创建聚集索引(否则会引发索引重建) 下面是一个简单的非聚集索引示意图: 在非聚集索引中执行查询语句的过程如下所示: select * from employee where lname = 'Green' 四、Bookmark Lookup Bookmark Lookup 是一种特殊的查询方式,它可以将非聚集索引和聚集索引结合起来,提高查询的效率。Bookmark Lookup 的过程如下所示: 先在非聚集中找,然后再在聚集索引中找。 五、结论 SQL Server 索引是关系型数据库中的一种重要组件,它可以大大提高查询的效率。聚集索引和非聚集索引是两种常用的索引类型,它们的特点和应用场景也有所不同。通过了解索引的概念和特点,我们可以更好地使用索引,提高数据库的性能。
- 粉丝: 2
- 资源: 12万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 小说网站-JAVA-基于springBoot“西贝”小说网站的设计与实现
- 游戏分享网站-JAVA-基于springBoot“腾达”游戏分享网站的设计与实现
- 学习交流-JAVA-基于springBoot“非学勿扰”学习交流平台设计与实现
- EDAfloorplanning
- 所有课程均提供 Python 复习部分.zip
- 所有算法均在 Python 3 中实现,是 hacktoberfest2020 的一个项目 - 没有针对 hacktoberfest 2021 的问题或 PR.zip
- OpenCV的用户手册资源.zip
- 用springmvc实现的校园选课管理系统
- 我的所有 Python 代码都存储在这个文件夹中 .zip
- 以下是关于毕业设计项目开发的详细资源.docx