本文整理自网络,侵删。
目录
- 初识索引
- 索引的概念
- 索引文件组织方式
- 索引的作用
- SQL语言中的索引创建与维护
- 基础知识
- 创建,撤销索引
- 稠密索引与稀疏索引
- 稠密索引
- 稀疏索引
- 稀疏索引如何定位记录
- 稠密索引如何定位记录
- 主索引
- 主索引概念
- 辅助索引
- 辅助索引定义
- 主索引和辅助索引的区别和联系
- 聚簇索引和非聚簇索引
- 聚簇索引
- 非聚簇索引
- 倒排索引
- 多级索引
- 多属性索引
- 散列索引
- 网格索引
- B+树索引
- 定义
- B+树特点
- 叶节点和叶子节点的指针分别指向什么
- B+树存储约定
初识索引
索引的概念
索引是定义在存储表的基础上,有助于无需检查所有记录而快速定位所需记录的一种辅助存储结构,由一系列存储在磁盘上的索引项组成,每一索引项又由两部分构成。即索引字段和行指针。
索引字段
由表中某些列通常是一列中的值串接而成。索引中通常存储了索引字段的每一个值。
行指针
指向表中包含索引字段值的记录在磁盘上的存储位置。
存储索引项文件的为索引文件,存储表称为主文件。
索引文件组织方式
(相对照的,主文件组织有堆文件,排序文件,散列文件,聚簇文件等多种方式)
排序索引文件:按索引字段值的某一种顺序组织存储
散列索引文件:依据索引字段值使用散列函数分配散列桶的方式存储
索引的作用
在一个表上针对不同属性或者属性组合建立不同的索引文件,索引字段值可以是表中任何一个属性的值或者属性值的组合;
索引文件比主文件小得多,通过检索一个小的索引文件(可以完全装载进内存),快速定位之后,再有针对性的读取非常大的主文件中的相关记录;
有索引时,更新操作必须同步更新索引文件和主文件。保持其数据一致性。
SQL语言中的索引创建与维护
基础知识
当定义table之后,如果定义了主键,系统自动生成主索引;
索引可以由用户定义或者撤销;
当索引被创建后,不论是主索引还是用户定义的索引,DBMS都将自动维护所有索引;
当table被删除之后,定义在该表上的所有索引自动撤销。
创建,撤销索引
CREATE INDEX idxSname ON Student(Sname); DROP INDEX idxSname;
稠密索引与稀疏索引
稠密索引
对于主文件中每一个记录(形成的每一个索引字段值),都有一个索引项和它相对应,指明该记录所在位置。这样的索引称稠密索引。(dense index)
稀疏索引
对于主文件中的部分记录(形成的索引字段值),有索引项和它对应,这样的索引称为非稠密索引或者稀疏索引(sparse index)。
稀疏索引如何定位记录
定位索引字段值为K的记录,需要
首先找相邻的小于K的最大索引字段值所对应的索引项;从该索引项所对应的记录开始顺序进行table的检索
稀疏索引的使用要求:主文件必须是按照对应索引字段属性排序存储
相比稠密索引:空间占用更少,维护任务更轻,但速度更慢
平衡:索引项不指向记录指针,而是指向记录所在的存储块的指针,即每一存储块有一个索引项,而不是每条记录有一索引项——主索引
稠密索引如何定位记录
1.候选键属性的稠密索引 一一对应即可
2.非候选键属性的稠密索引,主文件按照索引字段值排序,对每一个不重复的第一个索引字段值建立索引项,相同索引字段值则在附近寻找;
3.非候选键属性的稠密索引,主文件未按照索引字段值排序,不要求索引项中的索引字段唯一,可以重复出现,以实现对主文件中对应索引字段值的指向;
4.非候选键属性的稠密索引,主文件未按照索引字段值排序,若要求索引中索引字段是唯一的,则可以引入一个中间层,指针桶;该指针桶就是第3种情况。
主索引
主索引概念
通常是对每一个存储块有一个索引项,索引项的总数和存储表所占的存储块数目相同,存储表的每一存储块的第一条记录,又称为锚记录,简称块锚。
相关阅读 >>
更多相关阅读请进入《sql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 数据库索引知识点整理
相关推荐
评论
管理员已关闭评论功能...