InnoDB非主键索引结构叶子节点为什么存储的是主键值而不是像MyiSAM索引存储数据地址?

MySQL存储引擎MyISAM和InnoDB底层索引结构 目录 一 存储引擎作用于什么对象 二 MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的 三 MyISAM主键索引与辅助索引的结构 1. 主键索引: 2. 辅助(非主键)索引: 四 InnoDB主键索引与辅助索引的结构 1. 主键索引: 2. 辅助(非主键)索引: 五 InnoDB索引结构需要注意的点 PS:为了更好地理解本文内容,我强烈建议先阅读完我的上一篇文章... 阅读详情

1.保持一致性,当数据库表进行DML操作时,同一行记录的页地址会发生改变,因非主键索引保存的是主键的值,无需进行更改;

2.节省存储空间,后续补充,不太清楚原因。

参考链接:https://blog.youkuaiyun.com/a1_HelloWord/article/details/104341349

MySql——聚簇索引(主键索引)和非聚簇索索引(非主键索引)引区别(即聚集索引和非聚集索引区别) 本文主要介绍了聚簇索引(主键索引)和非聚簇索引(非主键索引)的区别。聚簇索引将索引和数据存储在同一个B+树中,查询效率较高;而非聚簇索引需要先查询索引再回表获取数据,效率较低。在InnoDB引擎中,主键索引采用聚簇索引结构,数据和索引存储在同一个文件中;而MyISAM引擎则采用非聚簇索引结构,数据和索引分开存储,查询时需要进行回表操作。文章通过图解和存储引擎对比,详细说明了两种索引的结构特点和性能差异,为数据库索引选择提供了参考依据。 阅读详情

相关推荐

Mysql主键索引与非主键索引

Mysql主键索引与非主键索引前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 Mysql使用B+树存储索引。 什么是B树: B树也叫B-树,是一棵多路平衡查找树,平衡的意思是左边和右边分布均匀。多路的意思是性对于二叉树而言,B树有多条路,及父节点有多个子节点。 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pan

dycy的博客 3386

MySQL索引本质解析

一、什么是索引 索引是对数据库表中一列或多列的值进行排序的数据结构。 表面层次来讲,索引就像一本书的目录,可以快速访问数据库表中的特点信息。 深层次来看,索引是帮助MySQL高效获取数据的排好序的数据结构,这个数据结构可以是平衡二叉树、红黑树、Hash表、B-Tree、B+Tree ...

Senye_ing的博客 1537

【OpenCV】背景替换(opencv、python),照片、证件照的背景替换(抠图)

目录步骤:导入库1、读入将要抠图的图片2、create一个带颜色域的mask3、通过mask使得原图只显示汽车,即抠出所需要的部分4、将要替换掉的图像resize或裁剪到和上述图片一样的大小5、将该图片预留出将要重叠上的部分,即将mask部分改为(0,0,0)6、通过和运算使得两部分图片mask部分替换7、最后保存图片 步骤: 导入库 import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np imp

weixin_41729258的博客 4361

为什么非主键索引结构叶子结点存储的是主键值?

1. 保持一致性: 当数据库表进行DML操作时,同一行记录的页地址会发生改变,因非主键索引保存的是主键的值,无需进行更改。 2. 节省存储空间: Innodb数据本身就已经汇聚到主键索引所在的B+树上了, 如果普通索引还继续再保存一份数据,就会导致有多少索引就要存多少份数据。 ...

weixin_44057343的博客 3450

STM32 使用IO口模拟I2C时序

上一篇《I2C协议详解》 我们了解了I2C的操作流程,这一篇,我们就使用I2C,来对EEPROM进行操作吧。 我们做两种选择: 1.时序由IO口模拟高低电平,需要了解协议并按照协议操作相应的IO口。 2.时序由硬件自行产生,不需要人工干预; 由硬件产生的I2C时序,我们借助Stm32Cube配置实现便可,我们这一篇,抛开Stm32Cube,手撕代码,根据I2C的时序,一步步地实现I2C对...

8937

利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行

dronekit: 一种用于无人机控制的python库。 dronekit-sitl:一种本地仿真工具,相当于本地虚拟化了一个无人机。 mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。打开一个Anaconda prompt 首先激活相应的环境 然后运行如下命令: 保持2中的Anaconda prompt处于运行状态,另打开一个Anaconda prompt窗口,运行如下命令: tcp:127.0.0.1:5760: SITL默认端口,作为mavproxy的输入,把输入数据转发

Done___的博客 4344

面试题整理(4)

每天五道面试题!只记录答案,不标出源码,有什么不对的地方欢迎评论,共同进步。 1. 什么是B+树?   B+树是一种树的数据结构(可以类比平衡二叉树),特点是能保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。B+树元素自底向上插入,与二叉树相反。   1、非叶子节点不存data,只存key,可增大度。   2、数据只存在叶子节点。对于MyISAM,叶子节点存指针;对于InnoDB,普通索引叶子节点存主键,主键索引叶子节点存一行数据。   3、叶子节点本身依关键码的大小自小而大的顺序连接,区间访问

weixin_43849539的博客 324

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权

oscp备考,oscp系列——Djinn3靶场:ssti漏洞,pkexec提权难度简单偏上对于低权限shell获取涉及:ssti漏洞对于提权:pkexec提权。

2202_75361164的博客 633

【MySQL体系机构】二级索引

二级索引

587

[工作流节点10] 获取多条数据并循环执行 —— 明道云批处理自动化实战

本文系统介绍了明道云工作流中"获取多条数据+循环执行"的批处理功能。该功能通过筛选数据集合并逐条处理,适用于批量通知、数据更新等场景。文章详细解析了功能配置方法,包括数据筛选、循环设置和异常处理,并提供了合同到期提醒等典型应用案例。同时强调了数据量控制、分批处理、错误处理等优化策略,帮助用户实现高效批量自动化。这一功能组合能将业务从单条处理升级为批量驱动,显著提升工作效率。

每日出拳老爷子的博客 455

深入解析高通SA8775芯片:性能、架构与研发创新趋势

SA8775芯片凭借其强大的CPU、GPU和AI加速能力,能够应对现代智能系统中的复杂计算任务。它不仅适合高性能计算、深度学习应用,也在汽车、智能设备等领域有广泛的应用前景。无论是在自动驾驶系统中,还是在车载信息娱乐和高级嵌入式系统中,SA8775都展现了其出色的计算能力和能效平衡,是现代智能系统的重要硬件基础。SA8775芯片作为高通的高性能处理平台,具有出色的计算和AI加速能力,但也存在一些值得关注的地方。

weixin_43199439的博客 9344

mysql优化——1.索引底层原理

mysql索引个人相关理解 每天多学一点点~ 话不多说,这就开始吧… 文章目录mysql索引个人相关理解1.索引到底是什么2.B-Tree3.B+Tree(B-Tree变种)4.MyISAM索引实现(非聚集)5.INNodb索引实现(聚集)6.联合索引7.结语 1.索引到底是什么 索引是帮助MySQL高效获取数据的排好序的数据结构 索引存储在文件里 索引结构 二叉树 红黑树 HASH BTREE...

爆裂无球的程序空间 837

基于物联网设计的蜂箱智能监测系统设计

为解决传统养蜂业依赖人工、管理效率低下、干扰蜂群等问题,本项目设计并实现了一套基于物联网(IoT)的蜂箱智能监测系统。

683

【索引的数据结构】第2章节:InnoDB和MyISAM索引结构对比

InnoDB 和 MyISAM 索引结构对比。

一宿君 2313

【论文复现】——基于LM优化的NDT点云配准算法

传统的正态分布变换配准算法处理初始位姿变换相差较大的两帧点云时,存在无法收敛或者陷入局部最小值的问题。为了提高算法的收敛性能,提出了一种基于LM方法改进的三维正态分布变换配准算法。

点云侠的博客 1163

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

主键索引和辅助索引的区别(MyISAM和InnoDB)

1. MyISAM索引实现: 1)主键索引: MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM主键索引的原理图: ​ (图myisam1) 这里设表一共有三列,假设我们以Col1为主键,图my...

Elon Zero的博客 5848

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

InnoDB 和 MyISAM 的索引结构区别详解

索引是一种用于加速数据查询的数据结构。它类似于书籍的目录,通过索引,数据库可以快速找到指定数据的位置,而无需全表扫描。索引的好处主要体现在加快查询速度和减少 I/O 操作。InnoDB是 MySQL 的默认存储引擎,支持事务、行级锁定、外键约束等高级功能。它的索引结构基于 B+ 树,并且使用了聚簇索引(Clustered Index),这是 InnoDB 索引结构的核心之一。MyISAM是 MySQL 的另一种存储引擎。它以其简单的设计和高效的查询性能著称,特别适合读多写少的应用场景。

lssffy的博客 1443

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

为什么InnoDB表必须有主键,并且推荐使用整型的自增主键?

innoDB索引文件和数据文件是在一起的 frm:表结构;ibd:索引文件和数据文件 问:为什么InnoDB表必须有主键。并且推荐使用整型的自增主键: 1、如果设置了主键,那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(RO...

LZHHuo的博客 8548

MySQL存储引擎MyIsam和InnoDB底层索引结构

一、存储引擎作用于什么对象二、MyIsam和InnoDB对索引和数据的存储在磁盘上是如何体现的?三、MyIsam主键索引和辅助索引(非主键索引)的结构1、主键索引2、辅助索引(非主键)索引四、InnoDB主键索引与辅助索引的结构1、主键索引2、辅助(非主键)索引五、InnoDB索引结构需要注意的点 一、存储引擎作用于什么对象 存储引擎是作用在表上的,而不是数据库。 二、MyIsam和InnoDB对索引和数据的存储在磁盘上是如何体现的? 下面是创建好的两张表信息,role表使用的存储引擎是MyIsam,而U.

玲珑骰子安红豆,入骨相思知不知 965

MyISAM与InnoDB 数据结构的区别

https://zhuanlan.zhihu.com/p/343746709 mysql底层的数据结构是B+树,但是同样是B+树,但是确实有很大的不同。 先说一下B树与B+数,如下图 B树 B+树 1、MyISAM存储引擎 MyISAM索引文件在数据库中存放的对应表的磁盘文件有*.frm,.MYD,.MYI结尾的三个文件; frm文件是存放的表结构,表的定义信息; MYD文件是存放着表中的数据; MYI文件存放着表的索引信息; MyISAM存储引擎的数据结构是B+树,其结构如下:(MyISAM存储引擎

yygr的博客 2015

【mysql】MyISAM和InnoDB索引结构分析

MyISAM和InnoDB索引结构分析 一、存储引擎作用于什么对象 存储引擎是作用在表上的,而不是数据库。 二 MyISAM和InnoDB对索引和数据的存储在磁盘上是如何体现的 先来看下面创建的两张表信息,role表使用的存储引擎是MyISAM,而user使用的是InnoDB: 再来看下两张表在磁盘中的索引文件和数据文件: 1. role表有三个文件,对应如下: role.f...

远方不远 1568

5.3、MySql 学习-MySql中InnoDB和MyISAM的主键索引和二级索引

文章目录前言基于 B+Tree 的索引InnoDB 的主键索引MyISAM 的主键索引附一个小图InnoDB 和 MyISAM 二级索引的区别参考图InnoDB的主键索引和二级索引MyISAM的主键索引和二级索引 前言 体能状态先于精神状态,习惯先于决心,聚焦先于喜好。 基于 B+Tree 的索引 MySql 中的InnoDB 存储引擎和MyISAM 存储引擎的索引都是基于B+Tree的。 ...

༺ bestcxx的专栏 ༻ 884
上一篇: Mysql联合索引的数据结构(B+Tree)
下一篇: JVM虚拟机运行时数据区(内存模型)
悟道|养家
博客等级 码龄8年 33粉丝 66原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值