数据库索引类型
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
通常的索引和指向记录结构的指针在所有情况下都不是有益的,因此使用不同的索引技术来帮助应对数据库中存在的不同记录。
以下是一些不同的索引类型。
主索引 - 在主索引中,索引表中的条目与主表中的记录之间存在一对一的关系。
密集主索引
• 索引表中的条目数与主表中的条目数相同。
• 主表中的每条记录在索引中都有一个对应的条目。
稀疏索引
• 对于大型表,要查找记录,我们找到具有最大搜索键值的索引记录。该值小于或等于搜索键值。
• 我们从索引记录指向的记录开始,沿着文件中的指针(即顺序)继续查找,直到找到所需的记录。
聚类指数
有时我们可能需要基于非唯一键(例如部门 ID)创建索引。
每个部门可能有多名员工。
这时,我们使用聚类索引,将具有相同部门 ID 的所有员工视为属于同一个聚类,索引指针指向整个聚类。
多级索引/二级索引:
• 多级索引将索引文件(我们现在称之为多级索引的第一级(或基础级))视为一个有序文件,其中每个 K(i) 都有一个唯一的值。
• 在这种情况下,原始索引文件称为第一级索引,而索引的索引称为二级索引。
• 我们可以重复此过程,创建第三级、第四级……直到所有顶级索引条目都能放入一个索引中。
当键的数量很大时,数据会以数据块的形式从磁盘读取。与主内存访问时间相比,磁盘访问时间非常长。使用 B 树的主要目的是减少磁盘访问次数。
我们将在下一篇博客文章中看到 B 树和 B+ 树的用法!
资源
:https://www.tutorialspoint.com/dbms/dbms_indexing.html
https://www.ques10.com/p/14831/how-does-multilevel-indexing-improve-the-efficienc/
https://www.javatpoint.com/indexing-in-dbms



