首页 > 数据库 >mysql数据库二叉树

mysql数据库二叉树

时间:2023-03-02 20:00:09浏览次数:38  
标签:插入 数据库 mysql 链表 索引 二叉树 红黑树 结构

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

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

 

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

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

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

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

 

 

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

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

 

标签:插入,数据库,mysql,链表,索引,二叉树,红黑树,结构
From: https://www.cnblogs.com/wekenyblog/p/17173208.html

相关文章

  • mysql索引结构
    Mysql索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包括以下几种:B+Tree索引:最常见的索引结构,大部分存储引擎都支持B+Tree索引。Hash索引:底层数据结构是用Hash......
  • (数据库系统概论|王珊)第七章数据库设计:习题
    ​​pdf下载:密码7281​​​​专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解​​名词解释数据库设计(databasedesign)......
  • 每日总结之可视化数据库
    在android里面下载datavasenavigate插件,然后运行虚拟机在虚拟机的文件管理器里面找到data0->data->包名->database,然后单独保存该数据库在DBbrowser里面导入该数据库......
  • (数据库系统概论|王珊)第七章数据库设计:习题
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录名词解释简答题应用题名词解释数据库设计......
  • 数据库系统概论—概述
    数据库系统概论—基础篇(1)一、绪论1.数据库系统概述1.1数据库四个基本概念数据:描述事物的符号记录数据库(DB):存放数据的仓库数据库管理系统(DBMS):位于用户与操作系......
  • MySql左连接无法显示左表全部数据
    leftjoinon后边的条件只针对副表,如果要筛选主表必须写在where后。#问题查不出左表全部数据select*fromaleftjoinbona.id=b.idwhereb.name="kk";#解决......
  • 如何选择mysql的存储引擎
    在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。InnoDB:是Mysql的默认存储引擎,支持事务、......
  • Prometheus+Grafana可视化监控【MySQL状态】
    Prometheus+Grafana部署请参考上篇文章:Prometheus+Grafana部署:1、创建MySQL监控用户mysql>createuser"prometheus"@"%"identifiedby'NTQ34tg*@19VF';mysql>gr......
  • 面试官:从 MySQL 读取 100w 数据进行处理,应该怎么做?问倒一大遍!
    背景大数据量操作的场景大致如下:数据迁移数据导出批量处理数据在实际工作中当指定查询数据过大时,我们一般使用分页查询的方式一页一页的将数据放到内存处理。但有些......
  • mysql的Memory存储引擎
    介绍:Memory存储引擎的表数据存储在内存中,由于受到硬件的问题、或断电问题的影响,只能将这些表作为临时的表或缓存使用。特点:内存存放、hash索引(默认)文件:xxx.sdi(存表结构信......