第5章 索引与算法

  使用二叉树由于树只能有两个子节点树的高度会很高,高度是和IO的次数成正比。

  树里的一个块里存的是什么

5.1 InnoDB存储引擎索引概述

  索引的存在是为了提高检索效率,索引检索得到的并不是一个给定键值(主键)具体的行,而是键值所在行所处的页,把页读到内存,页里有一个页目录,根据页目录使用二分查找来得到具体的行数据。InnoDB索引使用的结构是B+树,其叶子节点就是一个页。

  除此之外还支持自适应哈希索引,存储引擎会监控二级索引的使用情况,如果某个二级索引被频繁的使用那么会针对这个二级索引建立一个hash索引,所谓自适应指的是这是一种存储引擎自己管理的优化行为,不需要DBA的干涉。

5.2 数据结构与算法

5.2.2 二叉查找树和平衡二叉树

  二叉查找树只保证左右节点的大小关系,没有规定左右子树的高度关系,二叉查找树有可能会退化成一个链表,查找效率会降低。二叉平衡树规定了左右子树高度差不超过1,查找效率很高,但是维护的开销大,除此之外二叉平衡树的高度比较高,查找过程中会需要多次IO操作。

5.3 B+树

  

猜你喜欢

转载自www.cnblogs.com/AshOfTime/p/10469237.html
今日推荐