存储引擎
数据文件的组织形式
1.InnerDB (使用B+树)
2.MyISAM (使用B+树)
3.Memory (Hash) : 存储的是hash指
数据结构
1.二叉树
2.AVL树(最短子树和最长子树长度不超过1)
3.红黑树 (最短子树和最长子树长度不超过2倍)
4.B树
5.B+树(在B树的基础上优化,非叶子节点不存放data)
非叶子节点全部是索引,叶子节点存储索引+data
这儿第三层为叶子节点,在mysql中innerdb 数据页是16K存储,假定一个索引值站10bite,可以存储 16000/10 = 1600(前二层),叶子节点(索引+data),第三层索引个数 16个 ,总共存储 1600160016 = 4千多万个索引信息
innerDB: 对应主键索引,叶子节点存储主键索引+该行数据 (3次IO)
非主键索引,叶子节点存储,索引+主键id (3+3 利用主键Id再查询)
MYISAM:叶子节点存储该行数据对应的地址,比InnerDB多一次IO(InnerDB对应主键查询,是3次IO;MYISAM,是4次IO)