- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 规划和维护索引操作 6.1 索引的作用与构架 6.2 索引类型 6.3 规划设计索引的一般原则 6.4 索引的创建和删除 6.5 查询中的执行计划 6.6 索引使用中的维护 6.1 索引的作用与构架 6.1.1 索引概述 6.1.2 索引下的数据组织结构 6.1 索引的作用与构架 6.1.1 索引概述 一、什么叫索引 数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 二、索引的作用 通过创建唯一索引,可以保证数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。 6.1.2 SQL Server索引下的数据组织结构 在 SQL Server 2000 数据库内,索引对象作为 8 KB 页的集合存储。 SQL Server 2000 支持视图上的索引。视图上第一个允许的索引是聚集索引。在视图上执行 CREATE INDEX 语句时,视图的结果集被具体化,并且存储在与有聚集索引的表具有相同结构的数据库中。 每个表或索引视图的数据行存储在 8 KB 数据页集合中。每个数据页都有一个 96 字节的页头,其中包含象拥有该页的表的标识符 (ID) 这样的系统信息。如果页链接在索引列表中,则页头还包含指向下一页及前面用过的页的指针。在页尾有行偏移表。数据行填充页的剩余部分。 1.堆集结构 堆集在 sysindexes 内有一行,其 indid = 0。 sysindexes.FirstIAM 列指向 IAM 页链的 IAM 首页,IAM 页链管理分配给堆集的空间。 SQL Server 2000 使用 IAM 页在堆集中浏览。堆集内的数据页和行没有任何特定的顺序,也不链接在一起。数据页之间唯一的逻辑连接是记录在 IAM 页内的连接。 通过扫描 IAM 页可以对堆集进行表扫描或串行读,以找到容纳这个堆集的页的扩展盘区。因为 IAM 按扩展盘区在数据文件内存在的顺序表示它们,所以这意味着串行堆集扫描一律沿每个文件进行。使用 IAM 页设置扫描顺序还意味着堆集中的行一般不按照插入的顺序返回。 2.聚集索引结构 聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据。 每个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。 应当在创建任何非聚集索引之前创建聚集索引。 聚集索引的大小平均是表的5%。 在创建索引时系统需要比索引的表1.2倍的磁盘空间,索引创建完成后自动回收。 2.聚集索引结构(续) 聚集索引在 sysindexes 内有一行,其 indid = 1。数据链内的页和其内的行按聚集索引键值排序。所有插入都在所插入行中的键值与排序顺序相匹配时执行。 SQL Server2000 将索引组织为 B 树。索引内的每一页包含一个页首,页首后面跟着索引行。每个索引行都包含一个键值以及一个指向较低级页或数据行的指针。索引的每个页称为索引节点。B 树的顶端节点称为根节点。索引的底层节点称为叶节点。每级索引中的页链接在双向链接列表中。在聚集索引内数据页组成叶节点。根和叶之间的任何索引级统称为中间级。 对于聚集索引,sysindexes.root 指向它的顶端。SQL Server 沿着聚集索引浏览以找到聚集索引键对应的行。 3.非聚集索引 非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器。 如果索引时没有指定索引类型,默认情况下为非聚集索引; 应当在创建非聚集索引之前创建聚集索引; 每个表最多可以创建249个非聚集索引; 最好在唯一值较多的列上创建非聚集索引; 经常需要联接和分组查询,应在联接和分组操作中使用的列上创建多个非聚集索引,在任何外键列上创建一个聚集索引。 3.非聚集索引(续) 非聚集索引与聚集索引一样有 B 树结构,但是有两个重大差别: 1、数据行不按非聚集索引键的顺序排序和存储。 2、非聚集索引的叶层不包含数据页。 相反,叶节点包含索引行。 非
您可能关注的文档
最近下载
- 向荣升压站2号主变停电施工三措两案 0.docx VIP
- 2025-2026学年高二地理上学期第一次月考卷5【测试范围:选择性必修一,第1~2章第1节】(原卷及解析).docx VIP
- 馒头储存后变色分析.pdf VIP
- 智能物流无人车项目供应链管理手册(模板).docx VIP
- [黔西南]2024年贵州黔西南州农业农村局引进人才笔试历年典型考题及解题思路分析附带答案详解.docx VIP
- 理论力学 陈立群 第7章习题解答.doc VIP
- [黔西南]2024年贵州黔西南州生态环境局引进人才笔试历年典型考题及解题思路分析附带答案详解.docx VIP
- 化学反应原理复习.doc VIP
- 《智慧仓配运营》 课件 项目二 智慧仓配装备.pptx
- 高中物理经典试卷天体运动打印版——精华 .pdf VIP
文档评论(0)