数据库为什么要用B+树结构--MySQL索引结构的实现
2016-07-29 15:09
1216 查看
为什么使用B+树?言简意赅,就是因为:
1.文件很大,不可能全部存储在内存中,故要存储到磁盘上
2.索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(为什么使用B-/+Tree,还跟磁盘存取原理有关。)
3.局部性原理与磁盘预读,预读的长度一般为页(page)的整倍数,(在许多操作系统中,页得大小通常为4k)
4.数据库系统巧妙利用了磁盘预读原理,将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入,(由于节点中有两个数组,所以地址连续)。而红黑树这种结构,[b]h明显要深的多。由于逻辑上很近的节点(父子)物理上可能很远,无法利用局部性[/b]
1.文件很大,不可能全部存储在内存中,故要存储到磁盘上
2.索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(为什么使用B-/+Tree,还跟磁盘存取原理有关。)
3.局部性原理与磁盘预读,预读的长度一般为页(page)的整倍数,(在许多操作系统中,页得大小通常为4k)
4.数据库系统巧妙利用了磁盘预读原理,将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入,(由于节点中有两个数组,所以地址连续)。而红黑树这种结构,[b]h明显要深的多。由于逻辑上很近的节点(父子)物理上可能很远,无法利用局部性[/b]
相关文章推荐
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- 数据库为什么要用B+树结构--MySQL索引结构的实现
- MySQL事务实现方法 、数据库索引
- mysql索引的实现数据结构(B-树)
- MySQL innodb 索引 B+树实现
- 为什么MongoDB采用B树索引,而Mysql用B+树做索引
- 为什么 MongoDB (索引)使用B-树而 Mysql 使用 B+树?
- 为什么数据库读写分离可以提高性能以及mysql实现读写分离
- MySQL索引结构--由 B-/B+树看
- 观后感-数据库为什么要使用索引这种结构
- PHP+MYSQL实现输出打印数据库表结构和输出表内容
- 数据库系统实现 第三章 索引结构
- 数据库为什么要用B+树结构-
- 数据库系统实现-第3章 索引结构
- Mysql性能优化----SQL语句优化、索引优化、数据库结构优化、系统配置优化、服务器硬件优化
- MySQL索引 B+树结构
- 为什么说B+树比B 树更适合实际应用中操作系统的文件索引和数据库索引?