数据库系统概念总结:第十一章 索引与散列

周末无事水文章,期末备考的总结资料

第十一章 索引与散列

11.1 基本概念

  • 基本的索引类型
    –顺序索引:基于值的顺序排序
    –散列索引:基于将值平均分布到若干散列同中。一个值所属的散列桶是由一个函数决定的,该函数称为散列函数
  • 评价顺序索引和散列的因素
    –访问类型(access type):
    –访问时间(access time)
    –插入时间(insertion time)
    –删除时间(deletion time)
    –空间开销(space overhead):索引结构所占用的额外存储空间

11.2 顺序索引

  • 聚簇索引(clustering index):包含记录的文件按照某个搜索码指定的顺序排序;它也被称为主索引(primary index);可以被建立到任何搜索码上
    –主索引是一个有序文件,它的每个记录包含两个字段的定长记录。第1个字段与数据文件的搜索码字段(即primary key)有相同的数据类型;第2个字段是指向一个数据块的指针(块地址)
    –对于数据文件中的每一块,在索引文件中都对应一个索引入口(index entry,或者索引记录index record)
    ·非聚簇索引(nonclustering index):搜索码指定的顺序与文件中记录的物理顺序不同的索引;它也被称为辅助索引(secondary index)
11.2.1 稠密索引和稀疏索引
  • 索引项(index entry)或索引记录(index record)由一个搜索码值和指向具有该搜索码值的一条或者多条记录的指针构成。指向记录的指针包括磁盘块的标识和标识磁盘块内记录的偏移量
  • 顺序索引的分类
    –稠密索引(dense index):文件中的每个搜索码值都有一个索引项。在稠密聚集索引中,具有相同搜索码值的其余记录顺序地存储在第一条数据记录之后;在稠密非聚集索引中,索引必须存储指向所有具有相同搜索码值的记录的指针列表
    –稀疏索引(sparse index):只为搜索码的某些值建立索引项。只有当关系按搜索码顺序存储时才能使用稀疏索引(即它只能是聚集索引)
11.2.2 多级索引
  • 优点
    –一级索引可能还太大而不能常驻内存
    –查找一级索引块需要某种数据结构和磁盘I/O
    –二级索引更小,可以常驻内存
    –减少磁盘I/O次数
11.2.3 索引的更新

数据库系统概念总结:第十一章 索引与散列_第1张图片

11.2.4 辅助索引
  • 辅助索引必须是稠密索引,对每个搜索码值都有一个索引项,而且对文件中的每个记录都有一个指针

11.3 B+树索引文件(本节看书效率更高)

  • B+树索引是一种多级索引

11.6 静态散列

  • 可扩展散列表
    –优点:当查找记录时,只需查找一个存储块
    –缺点:桶增长速度快,可能会导致内存放不下整个桶数组,影响其他保存在主存中的数据,波动较大
  • 线性散列表

你可能感兴趣的:(数据库,数据库系统概念,第十一章,索引与散列,期末复习)