理论基础 —— 索引

【概述】

当数据量不是很大时,查找技术足以满足需求,但对于计算机应用程序来说,其是以大型数据库为中心,并将大型数据库作为文件存放于外存中的,当需要进行查找操作时,查找技术的处理过于缓慢,因此有了索引技术。

索引是为了加快查找速度而设计的一种数据结构,一个文件可能有多个相关的索引,每个索引往往只支持一个关键码,通过索引可以实现对文件中记录的快速访问,其常用于组织大型数据库以及磁盘文件。

关于索引技术的基本概念:

  • 文件:存储在外存上的数据的集合
  • 记录:由若干数据项组成的数据元素,是文件进行存取的基本单位
  • 数据项:数据记录中最基本的、不可分割的数据单位,是文件中可使用的最小单位
  • 索引:将关键码与其对应的记录相关联的过程,隶属于某一文件
  • 索引项:由关键码及关键码对应的记录在存取器中的位置等信息组成,是构成索引的基本单位
  • 静态索引:在文件创建时即生成索引结构,一旦生成就固定,只有当文件再组织时才发生改变
  • 动态索引:在文件创建时即生成索引结构,当文件执行插入、删除等操作时,索引结构随之改变
  • 线性索引:索引项组织为线性结构
  • 树形索引:索引项组织为树形结构
  • 多级索引:对于某些大型文件,其索引本身可能也很大,在这种情况下,可对索引再建一索引,从而构成多级索引结构

【线性索引技术】

线性索引是将索引项集合组织为线性结构,即索引表,其常见的形式有以下三种:

【树形索引技术】

由于树结构每个结点可以存储一个元素,拥有多个孩子,那么在元素非常多的时候,就使得要么树的度非常大,要么树的高度非常大,这就使得在外存查找时,内存存取外存的次数非常多,严重影响了时间效率。

为了提高时间效率,就要打破每一结点只能存储一个元素的限制,于是引入了多路查找树(Muitl-way Search Tree),其每一结点的孩子数可以多于两个,且每一结点可存储多个元素。

而树形索引技术,就是将索引项组织为使用多路查找树的树形结构,其常见的形式有以下四种:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值