数据库索引技术.pptVIP

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库索引技术

第5章 数据库索引技术 5.1 几种文件组织方式的特性对比分析 5.1.1 文件的记录组织方式 堆文件(heap file) 排序文件(sorted file) 散列文件(hashed file) 以记录的某个属性值为参数,通过特定散列函数求得有限范围内的一个值作为记录的存储地址(即页地址或桶号)。 用于计算散列的属性也称为散列键,它与搜索键具有类似的概念。 5.1.2 各种文件组织方式的特性分析 假设文件有B个数据页,每页有R个记录;平均读写1个页的时间为D,(CPU)处理一个记录的时间为C。对于散列文件组织,散列函数映射的时间为H。 分析时采用如下简单代价模型: I/O操作代价具有主导性。 DB缓冲区大小对DB操作有重要影响。 为了行较全面的性能评价,分析时我们选择几种具有代表性的典型DB操作: 5.1.2.1 堆文件的操作特性分析 扫描 --操作代价为B(D+RC) 等值搜索 假设:满足条件的记录只有一个, 平均需检查一半的页 操作代价取0.5DB 范围搜索--必检查所有的页,操作代价B(D+RC) 插入 取文件的最后页到主存,插入后,再写回磁盘 操作代价为2D+C 删除 不考虑记录被删除后的空间合并 操作代价为:搜索时间+C+D 若已知rid,可直接定位到目标页,可省去搜索时间 5.1.2.2 排序文件的操作特性分析 扫描 --操作代价为B(D+RC) 等值搜索 假设:满足条件的记录只有一个 可用二分法搜索,操作代价取D*log 2B+C log 2R 若满足条件记录有多个,则该代价还应加上读取包含所有这些记录的若干个连续页。 范围搜索--等值搜索代价+matches 插入 插入后,需进行排序调整,假设需调整约一半的记录 插入操作的代价=等值搜索代价+2*0.5B(D+RC)。 删除 如果等值或范围删除条件,则代价与插入操作相同 若已知rid,可直接定位到目标页,可省去搜索时间 5.1.2.3 散列文件的操作特性分析 扫描 --页空间通常只保持约80%的占用率,扫描的实际操作代价取1.25B(D+RC) 等值搜索 能非常有效支持等值选择 假设满足条件的记录只有一条且相应桶中没有溢出页,则等值搜索操作代价仅为H+D+0.5RC 范围搜索 需要扫描所有的页,操作代价=1.25B(D+RC) 插入--插入操作代价=等值搜索代价+D+C 。 删除 对等值或范围选择删除,代价=搜索代价+D+C 如果直接给定rid,则可省去搜索时间,代价= D+C 5.2 索引技术基础 5.2.1 索引技术综述 索引 是一种能帮助我们有效找出满足指定条件记录rid的辅助数据结构,是一种特殊类型的记录文件。 索引记录 常被称为索引项(index entry) ,简记为k* 除了索引项按索引键值顺序组织的顺序索引外,也有按树结构(如B+树)和桶结构(散列)进行组织的索引。 RDBMS中,索引项可能具有的三种形式 (1)索引项k*是数据记录本身,无单独的索引文件。 这时数据文件可视为一种特殊的数据文件组织,即散列文件 。 (2)k, rid ,有独立的索引文件。 (3)k, rid-list,有独立的索引文件,且每个索引项中允许包含多个rid。 5.2.1 顺序索引及其特性 聚集与非聚集索引 聚集索引(clustered index):指索引项的排序方式和数据文件记录排序方式一致的索引 稠密索引与稀疏索引 稠密索引:每个索引键值都对应有一索引项 稀疏索引:只为某些搜索键值建立索引项 多级索引 为处理索引项过多带来的索引性能下降问题,可以将索引文本本身当作一般顺序数据文件,在其上再建一个索引,即二级索引。 如果建立三级或更多级的索引,通常不如直接使用B树方便。 主索引与辅助索引 仅当搜索键恰好是主码的索引时,索引称为主索引; 稠密索引与稀疏索引应用示例 多级索引应用示例 一种带有间接桶层的辅助索引结构 5.3 B+树 5.3.1 B+树特点及约束(1) B+树的基本特点 是传统B树的一种增强结构。采用一种平衡树来组织索引项。内节点用于搜索导向,叶节点用来存储数据项。 是一种动态的索引结构,其树大小会因数据项的多少而动态地增长或收缩。 每个树节点用一个页来存储。 树操作(插入/删除)能保持树平衡。从根节点到任一个叶节点路径都是等长的。 B+树的阶数(通常以字母m表示) 指B+树中节点允许容纳的最大索引键值个数。 5.3.1 B+树特点及约束(2) 根节点/内节点格式化 除了根节点外,所有树节点都必须保持50%的占用率(即半满)。 一个含有j个索引键值的节点,必含有j+1个指针 节点内容格式“p0, K1, p1, … , Kj, pj” ,其中,指针pi指向一个键值k落在Ki≤n Ki+1范围的子树。

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档