首页 > 数据库 >MySQL——00

MySQL——00

时间:2022-10-28 21:31:31浏览次数:44  
标签:00 Tree 存储 主键 叶子 索引 MySQL 节点

索引数据结构

MySQL中常见索引数据有B+Tree、Hash,其他几乎不用。

Hash

最简单,容易理解,其实用的也不多,因为有局限性

优点:

  • 一次内存运算即可定位,效率高

缺点:

  • 有可能hash冲突,这就会导致定位后拿到一个链表再进行遍历;
  • 不适用于范围查找,仅用于“=”、“IN”


MySQL——00_数据结构


B+Tree

默认的索引数据结构

优点:

  • 层级少,定位效率高
  • 支持所有sql条件查询

缺点:

  • 非范围/排序类效率较Hash差


MySQL——00_mysql_02


B+Tree仅在叶子节点上会存储数据(非主键索引叶子节点存储对应主键索引地址),其他非叶子节点仅是索引。这就是相对于BTree的改进,在非叶子节点上能够存储更多的索引(MySQL默认每页存储空间应该是16K)。

这里以主键索引为例,假设主键为bigint,那非叶子节点每页可存储索引数为16K/×8+6),约等于1170,如果设置B+Tree为3层(两层非叶子节点+一层叶子节点),那两层非叶子节点就可存储近137万条索引,如果设置3层非叶子节点那就可以存储16亿条索引了。

别忘了还有一层叶子节点,假设每个叶子节点的数据都占用1K存储,那每页叶子节点就可以存16条数据。

B+Tree层级

存储数据量

3

2190万

4

256亿

如果换成BTree要达到过两千万的存储,需要有7层,这效率就立马下来了。


标签:00,Tree,存储,主键,叶子,索引,MySQL,节点
From: https://blog.51cto.com/u_15847681/5805281

相关文章

  • 数据库启动时报警 ORA-03113 ORA-16014 ORA-00312
    系统:CentOS7.9数据库:oracle11.2.0.4问题描述:数据库启动时报警ORA-03113,如下所示:SQL>startupORACLEinstancestarted.TotalSystemGlobalArea2455228416bytesFixedS......
  • MySQL事务
    事务通常是默认开启事务的,所以不会回滚事务保证了数据的一致性要么都成功要么都失败对于没有开启自动提交的数据,是可以回滚的,一旦提交了之后,就不可以回滚,体现了MySQ......
  • 常见的MySQL面试题有哪些?
    本文主要介绍我在公司招聘的时候,主要问应聘者的一些问题,希望对换工作的同行及在使用过程中有些疑问的同行有所帮助1. MySQL海量数据优化优化问题主要从SQL优化、事务级别调......
  • MySQL--常用语句
    MySQL常用语句1、获取数据库信息1.use数据库名;//选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。2.showdatabases;//列出MySQL数据库管理......
  • 【AGC005D】_K Perm Counting(容斥,二分图,计数dp)
    首先正面做不太好做,考虑容斥。设\(f(m)\)表示排列中至少有\(m\)处\(|P_i-i|=k\)的方案数。那么答案就是\(\sum\limits_{i=0}^n(-1)^if(i)\)。原题可以看成一个二......
  • 【AGC003F】Fraction of Fractal(dp,矩阵快速幂)
    先说一下下文会用到的定义或称呼的意思:称单位分形为题目给出的\(1\)级分形。称一种分形左右联通,则说明将两个这种分形左右放在一起时,至少有一个连通块是跨越这两个......
  • 【SpringBoot】引入mybatis及连接Mysql数据库
    创建一个SpringBoot项目其他不赘叙了,引入MyBaties、MySql依赖编辑 创建mysql表CREATETABLEsp_users(`id`INTPRIMARYKEY,`username`VARCHAR(30),`age`INT);刚......
  • OpenWrt学习之路(3)openwrt路由器(GL-XE300)frp自启动
    硬件介绍品牌:GL·iNet型号:GL-XE300软件介绍OpenWrt版本检查命令root@GL-XE300:~#cat/etc/banner_________________||.......
  • 工业网关BL110实现西门子S7-400 PLC 接入华为云平台
    LAN接口的配置COM口采集西门子S7-400PLC的配置工业智能网关BL110一共有一个LAN接口,一个WAN接口,可以通过LAN接口采集数据,通过WAN接口接入局域网,设置过程不一样,WAN接口可......
  • 工业网关BL110实现西门子S7-400 PLC 接入亚马逊云平台
    LAN接口的配置COM口采集西门子S7-400PLC的配置工业智能网关BL110一共有一个LAN接口,一个WAN接口,可以通过LAN接口采集数据,通过WAN接口接入局域网,设置过程不一样,WAN接口可......