MySQL数据库原理学习(四十九)
2023-02-19 12:23:41 时间
3). MVCC
全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为MySQL实现MVCC提供了一个非阻塞读功能。MVCC的具体实现,还需要依赖于数据库记录中的三个隐式字段、undo log日志、readView。
接下来,我们再来介绍一下InnoDB引擎的表中涉及到的隐藏字段 、undolog 以及 readview,从而来介绍一下MVCC的原理。
6.4.2 隐藏字段
6.4.2.1 介绍
当我们创建了上面的这张表,我们在查看表结构的时候,就可以显式的看到这三个字段。实际上除了这三个字段以外,InnoDB还会自动的给我们添加三个隐藏字段及其含义分别是:
而上述的前两个字段是肯定会添加的, 是否添加最后一个字段DB_ROW_ID,得看当前表有没有主键,如果有主键,则不会添加该隐藏字段。
6.4.2.2 测试
1). 查看有主键的表 stu
进入服务器中的 /var/lib/mysql/itcast/ , 查看stu的表结构信息, 通过如下指令:
ibd2sdi stu.ibd
查看到的表结构信息中,有一栏 columns,在其中我们会看到处理我们建表时指定的字段以外,还有额外的两个字段 分别是:DB_TRX_ID 、 DB_ROLL_PTR ,因为该表有主键,所以没有DB_ROW_ID隐藏字段。
2). 查看没有主键的表 employee
建表语句:
create table employee (id int , name varchar(10));
此时,我们再通过以下指令来查看表结构及其其中的字段信息:
ibd2sdi employee.ibd
查看到的表结构信息中,有一栏 columns,在其中我们会看到处理我们建表时指定的字段以外,还有额外的三个字段 分别是:DB_TRX_ID 、 DB_ROLL_PTR 、DB_ROW_ID,因为employee表是没有指定主键的。
相关文章
- 有了这十二个电子书资源, 99%的书都可以找到
- 生信爱好者周刊(第 52 期):真正的“科技与狠活”:全球首个人工“优选基因”的“完美婴儿”马上2岁啦!
- 喜报! TSF 荣获“InfoQ 2022年度十大云原生创新技术方案“和“CSDN 2022年度创新产品与解决方案“两大奖项
- 安装Windows11操作系统(不需要绕过TPM检测脚本等) - 初学者系列 - 学习者系列文章
- 黑科技Intel Optane SSD DC P5800X评测:固态硬盘的金字塔尖
- WeTest的2022年:走向科技的更多可能
- 深度学习必须掌握的13种概率分布
- 14、Visio工具的使用 - 项目管理系列文章
- 个人创业相关资料 - 创业与投资文章
- 公司商业模式案例讲座 - 公司商业模式
- 一文读懂个体户、独资企业、合伙企业、有限公司与股份公司的区别
- 【重磅最新】ICLR2023顶会376篇深度强化学习论文得分出炉(376/4753,占比8%)
- IT管理:开篇 - IT管理系列文章
- 中国十大基金公司排名
- 【最全总结】离线强化学习(Offline RL)数据集、Benchmarks、经典算法、软件、竞赛、落地应用、核心算法解读汇总
- 四个Python项目管理与构建工具,建议收藏!
- Python 包的依赖管理,有解了!
- 股份有限公司跟有限责任公司有什么区别
- 注资公司 - 我的闪存
- 公司注册 - 我的闪存