描述
看《数据库系统概念》的一些简单笔记
1. 基本概念
2种基本的索引类型:
§ 顺序索引:基于值的顺序排序
§ 散列索引:将值平均分布到若干散列桶里,散列桶由散列函数决定
2. 顺序索引
○ 聚集索引(clustering index):也称主索引(primary index),搜索码通常是主码,按主码的指定顺序排序
○ 非聚集索引:也称辅助索引,搜索码指定的顺序与文件中记录的物理顺序不同
在搜索码上有聚集索引的文件称为索引顺序文件,是数据库中最常用的索引模式之一
3. 稠密索引和稀疏索引
索引项(index entry)或索引记录(index record)由搜索码值和指向该搜索码值得指针构成
顺序索引有2类:
(1) 稠密索引:每个搜索码值都有一个索引项
(2) 稀疏索引:只为搜索码的某些值建立索引项,索引是聚集索引时才能使用稀疏索引
4. 辅助索引
辅助索引必须是稠密索引
5. B+树索引
○ 采用平衡树结构
○ 是一种多级索引
6. 静态散列
桶(bucket):通常是一个磁盘块,用来表示存储一个或多个记录的存储单位
静态散列最大的特征是桶集合是固定的
7. 动态散列
允许散列函数动态改变,以适应数据库增大或缩小的需要
可扩充散列(extendable hashing):可以通过桶的合并或分裂来适应数据库大小变化
l 不为每个散列值建桶,只在插入文件时按需建桶
l 优点:性能不随文件增长而降低
l 缺点:查找涉及一个中间层,访问桶本身前必须先访问桶地址表
8. 位图索引
多码上的简单查询设计的特殊索引
位图(bitmap):位的一个简单数组,表示对某个特征有或无的记录