Code前端首页关于Code前端联系我们

研究数据-索引结构(单维)

terry 2年前 (2023-09-26) 阅读数 99 #数据库

索引结构

冷索引、部分索引、基本索引(聚集索引)、附加索引(非聚集索引)

基本索引 能够定义索引的位置数据文件中的文件,索引的顺序与物理顺序相对应,索引通常基于主键。

特点:

  1. 排序符合物理顺序
  2. 一张表不能只有一个聚集索引
  3. 通常由主键设置
  4. 要求必须唯一 -聚集索引)

    学习数据库——索引结构(单维)

    无法确定文件在数据文件中的位置,与物理顺序不对应,通常会建立对其他属性的引用索引。

    形式:

    1. 顺序与物理顺序无关,不一致。它只能告诉我们文件存储在哪里
    2. 通常基于其他键
    3. 不需要唯一

    密集索引

    学习数据库——索引结构(单维)

    为每个元组创建一个对应的索引条目,以及索引顺序。文件按元组顺序对齐。 例如,构建连续文件的厚索引。该索引仅由每个元组的基记录和指向该记录的指针组成。

    顺序文件是通过根据主键对关系中的元组进行排序而生成的文件。

    特点:

    1. 厚指针的顺序必须与文件中元组的顺序匹配,并且存在唯一匹配
    2. 每个元组都有一个索引条目。
    3. 无需排序

    这里是

    学习数据库——索引结构(单维)

    为每个存储块创建索引条目。要创建厚索引,必须对文件进行排序。 例如,构建一个小型连续文件索引。索引包含每个数据块的第一条记录对应的值,并且是指向该记录的指针。

    特点:

    1. 必须检索索引键
    2. 每个数据块都有一个索引条目
    3. 节省索引空间

索引 主索引文件。

特点:

  1. 多级索引可以是小索引
  2. 级别越高,空间越小,但查询性能会较低

B-tree♸❀❀索引可以减少location 记录过程中经历的中间步骤,从而加快访问速度

数据结构

学习数据库——索引结构(单维)

B 一般二叉搜索树,但每个节点有两个以上的子数。这是一棵平衡树。

B树的应用

由于B树可以引用数据记录,所以B树可以用于索引结构,示例:

  1. 搜索键是主键,索引是厚索引。 (基本索引,粗体索引)
  2. 数据按照主键分类,索引很少。 (稀疏索引)
  3. 使用另一个键(可能具有相同的值)创建索引。(附加索引)

B 树搜索

  1. 声明值搜索,从根到叶子递归搜索
  2. 多样化搜索,找到搜索的下边缘,如果当前节点不大于,则在连续的叶子节点中搜索如果大于上边值,则可以使用下一个节点索引在后续节点中继续查找,直到找到大于上边或末尾的值。

B树的其他功能

添加、删除等这里就不说了。

哈希表

数据结构

哈希链表

应用

给定一个哈希函数,可以使用0到B-1之间的搜索键。 (B为桶的个数)桶号是一个从0到B-1的数组号,其中链表的头为B(每一项都是一个存储块,为了便于理解,假设块存储在索引链的数组中)。使用哈希函数,将每条记录放入相应的存储桶中。如果桶溢出,可以添加溢出链。

动作

插入、删除等不再赘述。适合各种问题

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门