欧意交易所资讯

uncategorized
首页 > 欧意交易所资讯 > 正文内容

深入理解 InnoDB 的 ID 家族:ROW_ID、XID、TRX-ID、THREAD-ID

qer1231年前 (2024-11-13)欧意交易所资讯350

ID 系列 [, xid, trx-id, -id]

前言

随着对mysql了解的深入,接触mysql的频率越来越高,我发现mysql的这些ID在整个mysql中起着相当大的作用。因此,我会专门写一篇文章来介绍和深入了解这些ID。目前文章列出的是比较常用的ID和我想到的ID,其他的以后会补充。

1. 它是什么?

如果一个表有一个 KEY 或 NOT NULL 索引,并且该索引有一个类型,那么您可以使用 来引用 in

简单翻译一下,如果表中存在主键或者非空唯一索引,并且只由一个整数类型列组成,那么可以使用语句直接查询,即行索引id。

总结起来,有以下三个条件:

1.、主键

2.、非空唯一索引

3.、整数类型

接下来,我们看看这些条件组合在以下场景中会发生什么?

首先公布结果:

| 主键 | 非空唯一索引 ||--|--||  |  |

测试场景1:

当设置主键且主键字段为数值类型时,直接引用主键字段的值。这称为显示 rowid。

在这里插入图片描述

更改主键类型后,报错。

在这里插入图片描述

其他场景我就不举例了。如果您有兴趣,可以自己测试一下。

2.XID是什么?

西德

Xids 由层维护。 Xid 在内部使用,以便能够将事务与 关联起来。

Xid在MySQL内部的生成逻辑:

1.MySQL内部维护一个全局变量

2、每执行一条语句,->,然后+1

3. if (事务执行的第一条语句) {->XID}

它是一个纯内存变量,重启后会被清除。

• 因此,在同一个数据库实例中,不同事务的XID也可能相同

• MySQL 重新启动后,会出现一个新的

保证:同一个文件中XID是唯一的

• 一旦达到上限,将从0继续计数

因此,理论上,相同的XID仍然会出现,但概率极低。

为8 Bytes,上限为2^64-1

• 执行一个事务,假设XID是A

• 接下来执行查询语句2^64次,返回A

• 启动另一笔交易,该笔交易的XID也是A(类似于超过最大值后清除并重新开始)

xid存在的意义

redo log和redo log有一个共同的数据字段,称为XID。在崩溃恢复期间,将按顺序扫描重做日志:

3. 什么是?

Xid和X是两个很容易混淆的概念。

Xids 由层维护。 Xid 在内部使用,以便能够将事务与 关联起来。但是,您自己的内容是单独维护的。

全局变量在内部维护。每次需要申请新的时候,就获取当前的值,然后加1。

数据可见性的核心思想是:每一行数据都记录对其的更新。当事务读取一行数据时,判断该数据是否可见的方法是比较事务的一致性视图与该行数据。 。

对于正在执行的交易,您可以从 中看到交易。桌子。

现在,我们看一个交易场景:

1.交易1次

A尚未参与更新,是只读事务。

对于只读事务,不会分配

因此,当交易2检查交易时,它是一个非常大的值。这个大值是系统临时计算出来的。它将当前交易的trx变量的指针地址转换为整数,加上2^48。

为什么它值这么多钱?

目的是保证只读事务显示的值比较大,一般情况下会和读写事务的ID不同。

只读事务不被分配有什么好处?

• 可以减小事务视图中活动数组的大小

当前运行的只读事务不影响数据的可见性判断。

因此,在创建事务的一致视图时,只需复制

• 可以减少的申请数量

这里,即使只执行一条普通的语句,在执行过程中也一定对应着一个只读事务。

如果普通查询语句不适用,则可以大大减少并发事务申请的锁冲突。

由于只读事务没有分配,所以增加速度会更慢。

1.交易3次

这时候,分配就真正完成了。

4. 什么是?

1.SHOW的第一列是

2.系统保存一个环境变量

• 每次创建新连接时,分配给新连接的线程变量将被

3. 定义为4 Bytes,所以达到2^32-1后会重置为0。

• 但你不会在SHOW 中看到两个相同的

• 因为MySQL设计了独特的数组逻辑分配给新线程,逻辑代码如下

do {  new_id= thread_id_counter++;} while (!thread_ids.insert_unique(new_id).second);

以上是mysql中常用的ID。将来还会添加其他内容。希望大家多多关注和支持。

扫描二维码推送至手机访问。

版权声明:本文由本站发布,如需转载请注明出处。

转载请注明出处https://www.juxingsy.com/post/1617.html

标签: TRX
分享给朋友:

相关文章

瑞波币(XRP)价格突破关键位,市场看好其涨至 1 美元

瑞波币(XRP)价格突破关键位,市场看好其涨至 1 美元

随着价格趋势的延续,瑞波币 (XRP) 的价格继续显示其强势,并且已经突破了对 (USDT) 的下行趋势区间。随着市场继续看涨,加密货币市值从周低点反弹,瑞波币 (XRP) 的价格也未能幸免,因为价...

芝加哥期权交易所将推出复杂衍生品,引发市场关注

该交易所将发行与 Cboe 波动率指数 VIX 期货挂钩的期权。 VIX 本身与 S&P 500 指数期权挂钩。 新合约将于10月14日上市交易,尚待监管部门评估。随着复杂衍生品的交易量飙升至...

虚拟货币现状与未来发展趋势分析:Q币、百度币等新型支付工具的影响

虚拟货币现状与未来发展趋势分析:Q币、百度币等新型支付工具的影响

在线虚拟货币是一种新的交易媒介和付款方式。在互联网的兴起和发展时代,虚拟货币接连出现。这种新的微型支付工具在促进电子商务和虚拟网络经济的发展方面发挥了重要作用。当今虚拟货币的蓬勃发展为人们的生活带来了...

超萌鸭鸭小伙伴Luya表情包及限量红包封面获取指南

超萌鸭鸭小伙伴Luya表情包及限量红包封面获取指南

超可爱的小鸭朋友【路亚】表情包来了! 快速长按图片识别二维码,让宝宝闪避! 我的好朋友路亚的 首支歌舞MV《铠甲》发布! 点击下面的视频就可以知道我在哪里! ↓↓↓ 我们还为您准备了 路亚限量版微信...

如何下载并安装.NET Framework 3.5:解决软件安装中的关键问题

如何下载并安装.NET Framework 3.5:解决软件安装中的关键问题

Net.5是计算机系统中必不可少的重要组件程序。如果您安装某个软件时有提示,则系统将丢失。如果需要NET .5来重新安装它以解决它!如果需要,请进入绿色资源网络下载它。 软件简介 该程序使用的新的托管...

欧意平台在金融领域颇具名气,提供多样工具服务助投资

欧意平台在金融领域颇具名气,为投资者们提供了多样化的工具和服务。若想在欧意进行投资理财,务必全面了解并掌握相关的基础知识和操作技巧,这样才能有效降低投资风险,并有望获得相应的收益。 投资界面 欧意的界...

加入欧意交易所,探索元宇宙世界!

探索DeFi,DApps, NFTs 和GameFi的世界,和OKX一起创造未来!