摘要: 教科书上的B+Tree是一个简化了的,方便于研究和教学的B+Tree。然而在数据库实现时,为了更好的性能或者降低实现的难度,都会在细节上进行一定的变化。下面以InnoDB为例,来说说这些变化。04- Sparse Index中的数据指针 在“由浅入深理解索引的实现(1)”中提到,Sparse Index中的每个键值都有一个指针指向 所在的数据页。这样每个B+Tree都有指针指向数据页。如图Fig.1所示:Fig.1 如果数据页进行了拆分或合并操作,那么所有的B+Tree都需要修改相应的页指针。特别是 Secondary B+Tree(辅助索引对应的B+Tree), 要对很多个不连续的页进行修改 阅读全文
posted @ 2013-03-19 10:19 _Boz 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 00 – 背景知识- B-Tree & B+Treehttp://en.wikipedia.org/wiki/B%2B_treehttp://en.wikipedia.org/wiki/B-tree- 折半查找(Binary Search)http://en.wikipedia.org/wiki/Binary_search_algorithm- 数据库的性能问题 A. 磁盘IO性能非常低,严重的影响数据库系统的性能。 B. 磁盘顺序读写比随机读写的性能高很多。- 数据的基本存储结构 A. 磁盘空间被划分为许多大小相同的块(Block)或者页(Page). B. 一个表的这些数据块以链表 阅读全文
posted @ 2013-03-19 10:18 _Boz 阅读(893) 评论(0) 推荐(0) 编辑
4AI?Z:cp1z?_RJQle1]Gs;P!T)RHroW|