数据库索引

稠密索引与稀疏索引

口对于主文件中每一个记录(形成的每一个索引弓 |字段值),都有一个索引弓|项和它
对应,指明该记录所在位置。这样的索引|称稠密索引(dense index)
口对于主文件中部分记录(形成的索引|字段值),有索引项和它对应,这样的索
引称非稠密索引(undense index)或稀疏索引(sparse index)

稀疏索引如何定位记录
定位索引字段值为K的记录,需要

主索引

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

辅助索引

不改变结构

聚簇索引

是指索引中邻近的记录在主文件中也是临近存储的

非聚簇索引

是指索引中临近的记录在主文件中不临近存储

倒排索引

正排索引:一个文档中包含了哪些词
倒排:一个词汇包含在哪些文档中

多级索引

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

B+树索引

一种以树形数据结构来组织索引项的多级索引

一个磁盘块能存储多少个索引项

假设存储块为4KB
整数型索引字段值 = 4Byte
一个指针 = 8Byte
4 ( n − 1 ) + 8 n < = 4096 4(n-1)+8n <= 4096 4(n1)+8n<=4096
n取最大值 , n = 341

和B树

  1. B树所有索引没有重复的键值
  2. 指向主文件的指针不仅仅出现在叶子节点,在非叶节点也会有指针
    在这里插入图片描述
    插入键值为40的记录
    (1) 寻找保存键值记录的叶子节点
    (2)应插入节点已满,则申请新的节点
    (3)同时调整应插入但未插入节点中的键值记录,使其均衡存放于两个叶节点中(分裂)
    (4)调整指针使其指向新的叶子节点
    在这里插入图片描述
    删除键值为7的记录:
    1 叶子节点但中寻找等于键值的记录,删除相应的指针及主文件中对应的记录
    2 调整其左侧 (或右侧)节点及本结点中的键值记录,使其均衡存放于两个叶节点中
    3 如有调整,则进一步调整其上层非叶节点,重新确定其赋值,以满足大于键值的记录都在其右侧

在这里插入图片描述

多属性索引

网格索引

可拓展散列索引

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值