database develop and design(二)
程序员文章站
2022-05-05 12:09:57
...
这一节lec的主要内容是:
1. 索引的结构
2. 有序目录
3. 主索引 vs 辅助索引
4. 密集索引 vs 稀疏索引
5. 多层索引
多级索引(motivation):Search Records
1. 把同一个关系的records放在不同的block中是十分不效率的行为
· select * from X;
· select * from X where age = 10;
· 明显来说,下面这个要好一点,因为给设置了条件
2. 索引方法(indexing mechanisms)是可以用来加快进入想要的数据的速度的方法
索引的结构
1. 数据文件: 在硬盘上存储records的blocks的集合
2. 索引文件: 一种可以让DBMS可以更效率的找到指定records的数据结构
·一个索引文件主要由 [search-key]——[pointer]这样的结构组成
3. search key:在用来查询records的属性(attributes,一个或者多个)
4. relationship:例如一个search key 叫K是和某个指向数据的指针是相关联的,这个就是relationship
索引的指标
1. 访问方式:
· 找一个定值属性
· 找一个范围的属性
2. 访问时间
3. 插入时间
4. 删除时间
有序目录(ordered indices)
- 有序索引:在索引中,索引项就按照search key里的value来排序了(index entries in the index are
sorted on the search key value. ) - 有序索引的分类
· 密集索引:索引的时候就好像把所有的search-key value都检索了出来
· 稀疏索引:索引出来的search-key value就一点点 -
一个有序索引同样可以:
1. 主索引:在一个连续、有序的文件中,索引的search key 一般指定了先后顺序 · 同样也被称为聚合索引。主索引中的search key一般都是主键 · 可以是分散索引 2. 次索引:与主索引恰好相反的一个索引方式
密集索引vs稀疏索引
index size
·稀疏索引要小很多- (两者)对于数据文件的要求
· 必须是连续的文件 - 查询
· 稀疏查询更小并且可能更适合存于memory中
· 密集查询可以直截了当的告诉你这个record是否存在 - 更新
· 稀疏查询在插入和删除上只需要更少的空间和维护
这一节课主要讲的就是稠密索引和稀疏索引,主索引和二级索引,看pdf太nm难理解了,然后去查了一下资料
稀疏索引and稠密索引:https://blog.csdn.net/xukaics/article/details/49204155
主索引:https://blog.csdn.net/fengdi51764/article/details/79536605
二级索引:https://blog.csdn.net/jijianshuai/article/details/79084874
关于索引:https://blog.csdn.net/liutong123987/article/details/79384395
下一篇: Java Web整体梳理-3
推荐阅读
-
Porsche Design Book One怎么样?保时捷BOOK ONE二合一笔记本电脑首发评测
-
学习使用Material Design控件(二)使用DrawerLayout实现侧滑菜单栏效果
-
Beginning Database Design 读书笔记
-
jQuery移动开发 jQuery Mobile Develop and Design 中文pdf扫描版
-
[Design Patterns] 设计模式(二) 工厂方法模式
-
Database(Mysql)发版控制二_MySQL
-
使用Material Design(二)
-
Material Design(二)—— Toolbar的使用
-
Android Study Material Design 二 之:这可能是RecyclerView最全解析 初级使用(一)
-
Database(Mysql)发版控制二_MySQL