- 顺序索引:基于值得顺序排序
- 散列索引:基于将值平均分布到散列桶
- 访问类型
- 访问时间
- 插入时间
- 删除时间
- 空间开销
搜索码:用于在文件中查找记录的属性或属性集
-
稠密索引
每个搜索码都有一个索引项
-
稀疏索引
只为某些搜索码建立索引
- 插入数据更新
- 删除数据更新
复合搜索码
- 插入
- 删除
两条或者多条记录在索引属性上拥有相同的值
解决方法:
- 创建包含原始搜索码和其他额外属性的符合搜索码
- 在B+树节点上使用列表来存储
前缀压缩
搜索码(k1,k2k,k3...)
存储附加属性
- 分布均匀
- 分布随机
- 桶不足
- 偏斜
散列函数可动态改变
- 查询
- 更新
- 动态散列:性能不随文件增长降低。空间开销小。并且增加了一个中间层,带来微小的性能损失。
位的一个简单数组
CREATE INDEX <索引名> ON <关系名> (属性列表)
CREATE INDEX index_kkk ON user(username) # 在user表上创建username索引