二叉查找树(二叉搜索树)
平衡二叉树(AVL Tree)(深度差小于等于1)
平衡多路查找树(B-Tree)
B+Tree
非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度
数据库中存储结构
表页的大小限定了表行的最大长度,不同DBMS的表页大小不同,MySQL的InnoDB存储引擎中,默认页的大小是16KB,所以单行记录不能超过65536字节,单行最大限制为65535,这里不包括TEXT、BLOB
页的结构
B+树的高度一般为2-4层,所以查找记录时最多只需要2-4次IO,随机io少
范围查找好
.B+树如何进行记录检索的?
如果通过B+树的索引查询行数据,首先是从B+树根节点开始,逐层检索,直到找到叶子节点,也就是找到对应的数据页为止,将数据页加载到内存中,页目录中的槽(slot)采用二分查找法的方式先找到一个粗略的记录分组,然后再在分组中通过链表遍历的方式查找记录。