最近有时间初步了解MySQL索引的历史变化,于是看了 前辈 ,通俗易懂!
MySQL索引的数据结构大多都会说B+树,但是具体是什么呢,不清楚,下面说一下MySQL索引的数据结构的历史变化!
二叉排序树 -> 二叉平衡树 -> B-树 -> B+树
二叉排序树:以一个节点为例,它的子节点若是比它本身小,则在左侧;否则在右侧;
二叉平衡树:优化了二叉排序树,降低了树的高度
相当于数据库中的一行数据代表着一棵树,就要执行这棵树的时间,数据量很大的话,那就太慢了。
B树:树的根节点不再是一个节点,而是多个节点
B+树:B树的一种优化
与B树的区别:关键字都在叶子节点;叶子节点的数据之间用链指针进行存储数据;
MySQL两种引擎:InnoDB和MyISAM
InnoDB支持事务,外键,一般若是有并发操作或大量的读写操作,则使用InnoDB。
MyISAM是mysql默认的引擎,若是只是查询和写入,对事务要求性不高,则使用MyISAM。