二叉查找树、平衡二叉树、B树、B+树、聚集索引、非聚集索引

二叉查找树: 根节点、叶节点。任何节点的左子节点的键值都小于当前节点的键值,任何节点的右子节点的键值都大于当前节点的键值;
平衡二叉树(AVL):任何节点的左右子树的高度不能大于1(会通过旋转保持平衡,提高了查询性能,因为树高度太深查询效率越低)
B树:每个节点存储的键值更多,每个节点的子节点更多(为了减少从磁盘读取数据的次数,减少磁盘IO)
B+树:1,非叶子节点仅存储键值,不存储数据(数据库页大小是固定的,如果不存数据可以存更多的键值,那么节点的子节点树就会更多,树会更矮更胖,IO次数更少,查询效率更高!);2,数据仅存储在叶节点,并且数据是按照顺序排列的。页之间通过双向链表链接,叶子节点的数据是按照单向链表连接的。
聚集索引(聚簇索引):以主键做为b+树索引的键值构建的b+树索引称为聚集索引
非聚集索引(非聚簇索引):以主键以外的列值作为键值构建的 B+ 树索引,我们称之为非聚集索引。
非聚集索引与聚集索引的区别在于非聚集索引的叶子节点不存储表中的数据,而是存储该列对应的主键,想要查找数据我们还需要根据主键再去聚集索引中进行查找,这个再根据聚集索引查找数据的过程,我们称为回表。