研究数据-索引结构(单维)
索引结构
冷索引、部分索引、基本索引(聚集索引)、附加索引(非聚集索引)
基本索引 能够定义索引的位置数据文件中的文件,索引的顺序与物理顺序相对应,索引通常基于主键。
特点:
- 排序符合物理顺序
- 一张表不能只有一个聚集索引
- 通常由主键设置
- 要求必须唯一 -聚集索引)
无法确定文件在数据文件中的位置,与物理顺序不对应,通常会建立对其他属性的引用索引。
形式:
- 顺序与物理顺序无关,不一致。它只能告诉我们文件存储在哪里
- 通常基于其他键
- 不需要唯一
密集索引
为每个元组创建一个对应的索引条目,以及索引顺序。文件按元组顺序对齐。 例如,构建连续文件的厚索引。该索引仅由每个元组的基记录和指向该记录的指针组成。
顺序文件是通过根据主键对关系中的元组进行排序而生成的文件。
特点:
- 厚指针的顺序必须与文件中元组的顺序匹配,并且存在唯一匹配
- 每个元组都有一个索引条目。
- 无需排序
这里是
为每个存储块创建索引条目。要创建厚索引,必须对文件进行排序。 例如,构建一个小型连续文件索引。索引包含每个数据块的第一条记录对应的值,并且是指向该记录的指针。
特点:
- 必须检索索引键
- 每个数据块都有一个索引条目
- 节省索引空间
索引 主索引文件。
特点:
- 多级索引可以是小索引
- 级别越高,空间越小,但查询性能会较低
B-tree♸❀❀索引可以减少location 记录过程中经历的中间步骤,从而加快访问速度 数据结构
B 一般二叉搜索树,但每个节点有两个以上的子数。这是一棵平衡树。
B树的应用
由于B树可以引用数据记录,所以B树可以用于索引结构,示例:
- 搜索键是主键,索引是厚索引。 (基本索引,粗体索引)
- 数据按照主键分类,索引很少。 (稀疏索引)
- 使用另一个键(可能具有相同的值)创建索引。(附加索引)
B 树搜索
- 声明值搜索,从根到叶子递归搜索
- 多样化搜索,找到搜索的下边缘,如果当前节点不大于,则在连续的叶子节点中搜索如果大于上边值,则可以使用下一个节点索引在后续节点中继续查找,直到找到大于上边或末尾的值。
B树的其他功能
添加、删除等这里就不说了。
哈希表
数据结构
哈希链表
应用
给定一个哈希函数,可以使用0到B-1之间的搜索键。 (B为桶的个数)桶号是一个从0到B-1的数组号,其中链表的头为B(每一项都是一个存储块,为了便于理解,假设块存储在索引链的数组中)。使用哈希函数,将每条记录放入相应的存储桶中。如果桶溢出,可以添加溢出链。
动作
插入、删除等不再赘述。适合各种问题
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。