mysql数据库二叉树

假如Mysql的索引结构是二叉树的数据结构,比较理想的结构如下:

如果主键是顺序插入的,则会形成一个单向链表,结构如下:

 

 所以,如果选择二叉树作为索引结构,会存在以下缺点:

  顺序插入时会形成一个链表,查询性能大大降低。

  大数据情况下,层级较深,检索速度慢(二叉树由于一个节点下最多只能包含两个子节点)。

此时可以通过红黑树来解决二叉树平衡的问题,红黑树是一颗自平衡二叉树,那这样即使是顺序插入数据,最终形成的数据结构也是一颗平衡的二叉树。结构如下:

 

 

但是,即使如此,由于红黑树也是一颗二叉树,所以也会存在一个缺点:
  大数据量情况下,层级较深,检索速度慢。

所以在Mysql的索引结构中,并没有选择二叉树或者红黑树,而选择的是B+Tree树。

 

posted @ 2023-03-02 19:54  xycccode  阅读(105)  评论(0编辑  收藏  举报