Database | Index Structures for

2018-11-26  本文已影响0人  _LadyBug_

Single-level ordered indexed

index

index是另外一個file,針對要被搜尋的欄位
减少block IO 的次数

顺序索引的类型

Primary index

本身档案是 sorted files
根据primary key排序
针对primary key建立索引档
记录每一个block的第一笔(Anchor Record)
有多少entry取决于有多少个block,然后index file有多少个block又取决于一个block能放多少个entry
有多少block取决于每笔记录的长度→每个block可以放几笔资料
查询
针对你要查询的值,先在index里面做binary search
插入和删除
问题:
解决:using an unordered overflow file
删除不直接删除,而使用deletion markers(lazy deletion)

Cluster index

本身是 sorted file
但按照nonkey排序,因此会有重复
索引比资料少(non dense)
对每一个不同的值有一个entry
记录第一个出现X的block
插入
可能会使index变动
解决办法:1、每个block多预留空间

Secondary index

现在档案按照别的栏位排序或者没有排序 (Non-ordering)
想要根据某一个栏位加速查询
每一个可能的值在index里都要出现
dense
如果indexing field是nonkey,而档案没有按照他的顺序排
建立两层index
第一层记录distinct value,第二层记录这个值出现的block

一个档案最多有一个primary index或者一个clustering index,不能兼而有之
一个档案可以有好几个secondary index
考虑index的代价,合理设置资料按什么排序

Dense & Nondense index

Multilevel indexes

Dynamic multilevel indexes using B-trees and B+-trees

Multiple dimensional Index


2016.6.14


Index on multiple keys

Bitmap index

SQL建index

Indexing of Strings

Tuning Indexes

上一篇 下一篇

猜你喜欢

热点阅读