索引:二叉树、红黑树(平横二叉树)、hash、B树、B+树的区别
1.二叉树
普通二叉树,容易引起单边高度过大
2.红黑树(平横二叉树)
虽通过自旋平衡,数据量过大,高度依旧会有很大,IO检索次数没有保证
3.hash
当在字段column_a建立索引
select * from t_tabel where column_a = xxx 性能会很高,一次;
但是不支持范围查询,如: select * from t_tabel where column_a > xxx
4.B树 (BTREE)
基于红黑树改造,控制高度,单个节点大小限制16k,叶子节点点无连接
5.B+树 (B+TREE)
基于B树的改造,非叶子节点不存储data,这样可以存储更多的索引,
高度等于3即可支持千万级表的快速查询
支持范围查询,叶子节点之间有双向指针: