树
'''
root 根节点
leaf 叶子
branch 分支
二叉树
平衡树(b tree) 能够让查找某一个值经历的查找速度尽量平衡
balance tree
平衡树不一定是二叉树
为什么不用二叉树
b+树
如果在分支节点存数据,树的高度变高了,io操作开销会变大
所有的范围都存在分支里,所有的数据都存在叶子节点里,来降低高度
叶子节点加上双向链表来减少范围查找时的开销
b+树
#分支节点不存储数据 -- 让树的的高度尽量矮,让查找一个数据的效率尽量的稳定
#在所有叶子节点之间加入了双向的地址链表 -- 查找范围非常快
#两种索引的差别
innodb 必有且仅有一个聚集索引,还有其他非聚集索引
聚集索引 select * from 表 where age =20
一次性找到值,存的数据少,所有数据都存在叶子节点中
myisam
辅助索引/非聚簇索引 叶子节点存储的数据多,只存age 和id,要找其他数据还要找到另外的物理地址
缺点还要回一次表找数据
'''

浙公网安备 33010602011771号