前言`
索引是帮助MySql快速获取数据的排好序的数据结构。
1、B-tree
如图所示,B-tree作为一种排序方式,它的叶节点具有相同的深度,每个节点上可以存放多个数据,一般每个节点的存放的数据大小是16kB。
b-tree的所有索引元素不重复,节点中的数据索引从左到右递增排列。
2、B+tree
从上图可以看出,B+tree和B+tree很像,不同的地方在于B+tree的非叶子节点只存放索引,不存放数据,数据只存放在叶子节点,所以同样16KB大小能够存放更多的索引。
B+tree的叶子节点之间用指针连接,可以提高区间访问性能。例如用SQL语句的IN查找索引在(20,50)之间的数据,只要获取索引20位置,就可以根据链接直接获取到50之间的数据。
叶子节点包含所有索引字段。
3、MyISAM存储引擎
MyISAM是一种非聚