(P14-P15)数据库系统下-主索引与辅助索引

1.主索引

主索引通常是对每一存储块有一个索引项,索引项的总数和存储表所占的存储块数目相同,存储表的每一存储块的第一条记录,又称为锚记录(anchor record), 或简称为块锚(block anchor)

  • 主索引的索引字段值为块锚的索引字段值,而指针指向其所在的存储块。
  • 主索引是按索引字段值进行排序的一个有序文件, 通常建立在有序主文件的基于主码的排序字段上,即主索引的索引字段与主文件的排序码(主码)有对应关系
  • 主索引是稀疏索引
    在这里插入图片描述

2.辅助索引

辅助索引 是定义在主文件的任一或多个非排序字段上的辅助存储结构。

  • 辅助索引通常是对某一非排序字段上的每一个不同值有一个索引项:索引字段即是该字段的不同值,而指针则指向包含该记录的块或该记录本身;
  • 当非排序字段为索引字段时,如该字段值不唯一,则要采用一个类似链表的结构来保存包含该字段值的所有记录的位置。
  • 辅助索引是稠密索引,其检索效率有时相当高。
    在这里插入图片描述

3.主索引 vs. 辅助索引

一个主文件仅可以有一个主索引,但可以有多个辅助索引
主索引通常建立于主码/排序码上面;辅助索引建立于其他属性上面
可以利用主索引重新组织主文件数据,但辅助索引不能改变主文件数据
主索引是稀疏索引,辅助索引是稠密索引
在这里插入图片描述

4.聚簇索引和非聚簇索引

聚簇索引—是指索引中邻近的记录在主文件中也是临近存储的;
非聚簇索引—是指索引中邻近的记录在主文件中不一定是邻近存储的。

  • 如果主文件的某一排序字段不是主码,则该字段上每个记录取值便不唯一,此时该字段被称为聚簇字段; 聚簇索引通常是定义在聚簇字段上。
  • 聚簇索引通常是对聚簇字段上的每一个不同值有一个索引项(索引项的总数和主文件中聚簇字段上不同值的数目相同),索引字段即是聚簇字段的不同值,由于有相同聚簇字段值的记录可能存储于若干块中,则索引项的指针指向其中的第一个块。
  • 一个主文件只能有一个聚簇索引文件,但可以有多个非聚簇索引文件
  • 主索引通常是聚簇索引(但其索引项总数不一定和主文件中聚簇字段上不同值的数目相
    同,其和主文件存储块数目相同);辅助索引通常是非聚簇索引。
  • 主索引/聚簇索引是能够决定记录存储位置的索引;而非聚簇索引则只能用于查询,指出已存储记录的位置
    在这里插入图片描述

5.倒排索引

正排:一个文档包含了哪些词汇?

  • #Doc1, { Word1,Word2,… },哪些文档有这些关键词

倒排:一个词汇包含在哪些文档中

  • Word1, { #Doc1, #Doc2, … ,关键词在哪些文档中
    在这里插入图片描述

6.其他结构的索引

多级索引:当索引项比较多时,可以对索引再建立索引,依此类推,形成
多级索引

  • 常见的多级索引形式,如B树/B+树索引,以树型数据结构来组织索引项等

多属性索引:索引字段由Table的多个属性值组合在一起形成的索引
散列索引:使用散列技术组织的索引
网格索引(Gridfile):使用多索引字段进行交叉联合定位与检索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢打篮球的普通人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值