首页 > 数据库 >mysql innodb 为什么用B+树作为索引数据结构,而非其他结构

mysql innodb 为什么用B+树作为索引数据结构,而非其他结构

时间:2022-08-19 10:24:57浏览次数:57  
标签:层数 二叉树 mysql innodb 数据结构 节点

B树的层数较低,即意味着读取磁盘的次数较少

在mysql中 一个节点的大小是16K,如果一行数据约1k,其主键为8字节的bigint,那么3层即可容纳约2000万行

对比其他结构:

  hash不体现大小顺序,只能支持单行查找

  二叉树层数太多,且易退化为链表

  红黑树是平衡二叉树,不会退化,但层数仍太多

  而B-树,由于将数据存在节点上,导致节点容量降低,层数也会变多

 

标签:层数,二叉树,mysql,innodb,数据结构,节点
From: https://www.cnblogs.com/xiang-jin-hua/p/16601085.html

相关文章

  • mysql 的安装
    1.链接进入mysql官网  https://www.mysql.com2.点击download   3.滑动到下面找到社区版  4.找到这个点击5.点击Archives  6.可以选择自己想要的......
  • Docker安装MySQL
    1,docker仓库搜索mysqldockersearchmysql  2,docker仓库拉取mysql8.0dockerpullmysql:8.0  3,查看本地仓库镜像是否下载成功dockerimagesmysql:8.0......
  • mysqldump 在 StoneDB 中的使用注意事项
    InnoDB导入StoneDB此场景是利用mysqldump从InnoDB导出,然后再导入StoneDB,在导入StoneDB前,需要对导出文件做如下修改。1)修改存储引擎CREATETABLE`t_user`(xxx)ENGIN......
  • MySQL Server可执行注释
    MySQLServer当前支持如下3种注释风格:以'#'开头的单行注释以'--'开头的单行注释C语言风格的单行/多行注释如下sql脚本给出了3种注释风格的示例:/*这是一个多行注......
  • powerdesigner16.5 连接MySQL8
    1.安装32位jdk。2.配置jdk路径:Tools-->GeneralOptions-->Variables修改JAR,JAVA,JAVAC,JAVADOC的Value3.连接数据库4.生成......
  • 【MySQL】SQL标准:SQL92、SQL99
    1.SQL标准SQL有两个主要的标准,分别是(1)SQL92:92年提出的标准规范,SQL92的形式更简单,但是写的SQL语句会比较长,可读性差。也被叫做SQL-2标准。(2)SQL99:相比于SQL92,语法更加复杂......
  • 深入理解Redis 数据结构—字典
    字典,又称为符号表、关联数组或映射,是一种用于保存键值对的抽象数据结构。在字典中,一个键可以和一个值进行关联,这些关联的键和值称为键值对。键值对中键是唯一的,我们可以......
  • MySQL之Navicat和pymysql模块
    Navicat可视化软件下载安装官网地址:http://www.navicat.com.cn/主要功能介绍1.可以创建、管理和维护数据库2.可以充当各种数据库软件的客户端,并且提供操作数据库的快......
  • Navicat的使用与python中使用MySQL的基本方法
    Navicat的使用与python中使用MySQL的基本方法Navicat的下载及安装下载地址http://www.navicat.com.cn/download/navicat-premium由于navict的功能非常强大所以navic......
  • Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationExceptio
    多表查询时mysql语句报错Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Column'XX'inwhereclauseisambiguous原因多表查......