数据库系统实现第四章笔记
来源:互联网 发布:mac桌面文件不见了 编辑:程序博客网 时间:2024/05/24 23:16
第四章 索引
概论:1.主索引;2.辅助索引;3.B树;4.散列表
4.1顺序文件上的索引
4.2辅助索引
辅助索引不决定记录位置;辅助索引都是稠密索引。
4.2.1
4.2.2 聚簇文件:解决多表索引问题。
4.2.3辅助索引中的间接
桶:用来减少键值的存放空间。从而减小索引文件。(适用于关系中有很相同键记录的情况)
4.2.4文档索引和倒排索引
一篇文档可以看作一条记录。这样就用倒排索引来快速的检索文档。
倒排索引:并不是每一个字段建立一个索引,是把所有索引合成一个索引。
4.3B树
商用一般采用B树和其变种B+树;
B树能保证磁盘块在半满到满之间。
4.3.1
问题:
一个磁盘的块大小为4096Byte,键值采用int(4Byte),指针采用long(8Byte)问B树的阶数应该是多少?
4*n+8*(n+1)<=4096. n=340。
所以一般B树都在成百上千阶。
4.3.2 B树的应用
晦涩
4.3.3 B树的查找
简单
4.3.4 范围查询
简单
4.3.5B树的插入
繁杂
4.3.6 B树的删除
繁杂
4.3.7B树的效率
B树阶数很大时,很少要分裂结点,及时分裂也是在叶节点及其父节点,因此B树I/O重组的开销很小。
B树一般3层就可以了。所以一般进行3次磁盘I/O
问题:假设磁盘块大小是4096Bytes.B树的阶数是n=340.B树每个结点的平均指针数是255。则B树储存了多少个Key-Pointer对?B树最多能储存多少个Key-Pointer对?
答:1.一个根结点有255个子结点,255个子节点有255*255个叶结点。255*255个叶结点有255*255*255个Key-Pointer对。大约是1.66*10^7即 16 000 000 一千六百万
2.同理 最大能存 341*341*341个
4.3.8 散列表
略!
- 数据库系统实现第四章笔记
- 数据库系统概论第五版学习笔记数据库安全性 第四章
- 数据库系统概念(第四章:SQL)
- 数据库系统概论 学习笔记(三)第四部分
- 数据库笔记(数据库系统实现)
- 《linux内核设计与实现》阅读笔记 第四章 系统调用
- 系统学习hive programming,第四章----表和数据库定义
- Spring in Action 学习笔记—第四章 征服数据库
- 2011年软考系统架构设计师学习笔记第四章
- 第四章 数据库操作
- 数据库第四章作业
- 数据库第四章作业
- 数据库第四章
- 第四章 数据库安全性
- 优化数据库第四章
- 数据库第四章 数据库安全性
- 数据库系统概论(第四版)pdf
- [笔记]《Linux内核设计与实现》第四章进程调度
- hdu 1501 DP
- ie网页分析(HttpWatch Pro) 中文版安装及使用方法
- 什么时候加上android.intent.category.DEFAULT和LAUNCHER
- 可执行文件(ELF)格式的理解
- Qt setStyleSheet 添加背景色/背景图片(使用非资源图片)
- 数据库系统实现第四章笔记
- 暑期集训第二场--作死的C题
- 如何使用VIM的Help
- Java类加载器
- 创建只有后缀名的文件
- JDK中的AOP、动态代理
- java中timer 和timertask
- Linux/Windows下安装Maven
- vb.net中用Xpath遍历子节点的问题