1、二叉树
问题:极端情况 递增或递减的数据性能低下
2、平衡二叉树
优点:避免1中的极限场景问题;
问题;插入时会造成N个旋转操作保证树的平衡,性能差
3、红黑树
优点:相对平衡二叉树的插入性能有很大提升
问题:随着数据量增加,树的层数会增加,会增加io次数,从而影响读取效率
4、B树
优点:每个节点可以存多个key值,可以包含多个分支,树的深度会减少,io次数会减少,查询效率会提升;
问题:每个节点都有key,同时也包含data,而每页存储空间是有限的,如果data比较大会导致每个节点存储的key数量变小
5、B+树
非叶子结点不存储数据
优点:
1)减少服务器扫描的数据量;
2)避免排序和临时表
3)将随机IO变成顺序IO