当前位置: 首页 > news >正文

MySQL高级-MVCC-隐藏字段

文章目录

  • 1、介绍
  • 2、测试
    • 2.1、进入服务器中的 /var/lib/mysql/atguigu/
    • 2.2、查看有主键的表 stu
    • 2.3、查看没有主键的表 employee
      • 2.3.1、创建表 employee
      • 2.3.2、查看表结构及其其中的字段信息

1、介绍

+----+-----+-------+
| id | age | name  |
+----+-----+-------+
|  1 |   1 | Jsp   |
|  3 |   3 | cat   |
|  8 |   8 | rose  |
| 11 |  11 | jetty |
| 19 |  19 | lily  |
| 25 |  25 | luci  |
+----+-----+-------+

在这里插入图片描述

当我们创建了上面的这张表,我们在查看表结构的时候,就可以显式的看到这三个字段。 实际上除了这三个字段以外,InnoDB还会自动的给我们添加三个隐藏字段及其含义分别是:

隐藏字段含义
DB_TRX_ID(Database Transaction Identifier)数据库事务标识符最近修改事务ID,记录插入这条记录或最后一次修改该记录的事务ID
DB_ROLL_PTR (Database Rollback Pointer)数据库回滚指针回滚指针,指向这条记录的上一个版本,用于配合 undo log,指向上一个版本
DB_ROW_ID(Database Row Identifier) 数据库行标识符隐藏主键,如果表结构没有指定主键,将会生成该隐藏字段

而上述的前两个字段是肯定会添加的, 是否添加最后一个字段DB_ROW_ID,得看当前表有没有主键,
如果有主键,则不会添加该隐藏字段。

2、测试

2.1、进入服务器中的 /var/lib/mysql/atguigu/

[root@localhost ~]# cd /var/lib/mysql/atguigu
[root@localhost atguigu]# ll
总用量 4149624
-rw-r-----. 1 mysql mysql     114688 6月  29 17:06 account.ibd
-rw-r-----. 1 mysql mysql     131072 6月  29 12:57 course.ibd
-rw-r-----. 1 mysql mysql     131072 6月  29 21:50 stu.ibd
-rw-r-----. 1 mysql mysql 4127195136 6月  28 19:53 tb_sku.ibd
-rw-r-----. 1 mysql mysql  121634816 6月  28 19:23 tb_user.ibd
[root@localhost atguigu]# 

在这里插入图片描述

2.2、查看有主键的表 stu

[root@localhost atguigu]# ibd2sdi stu.ibd 

ibd2sdi (index binary directory to space dictionary index)索引二进制目录到空间字典索引

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3、查看没有主键的表 employee

2.3.1、创建表 employee

mysql> create table employee (id int , name varchar(10));
Query OK, 0 rows affected (0.02 sec)mysql> select * from employee;
Empty set (0.00 sec)mysql> 

2.3.2、查看表结构及其其中的字段信息

[root@localhost atguigu]# ibd2sdi employee.ibd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/387977.html

相关文章:

  • 探索PcapPlusPlus开源库:网络数据包处理与性能优化
  • 深入理解SSH:网络安全的守护者
  • DDD学习笔记四
  • Head First设计模式中的典型设计模式解析与案例分析
  • iptables 防火墙(一)
  • 数据库物理结构设计-定义数据库模式结构(概念模式、用户外模式、内模式)、定义数据库、物理结构设计策略
  • QT加载安装外围依赖库的翻译文件后翻译失败的现象分析:依赖库以饿汉式的形式暴露单例接口导致该现象的产生
  • 13_旷视轻量化网络--ShuffleNet V2
  • Linux系统编程--进程间通信
  • docker-本地部署-后端
  • TLS + OpenSSL + Engine + PKCS#11 + softhsm2 安全通信
  • Unity实现简单的MVC架构
  • 【简单讲解下OneFlow深度学习框架】
  • FastGPT 调用Qwen 测试Hello world
  • Golang-GMP
  • 【PythonWeb开发】Flask自定义模板路径和静态资源路径
  • Java对象创建过程
  • Does a vector database maintain pre-vector chunked data for RAG systems?
  • Rust-11-错误处理
  • 自动化测试:使用Postman进行接口测试与脚本编写
  • ONLYOFFICE 8.1 桌面编辑器测评:引领数字化办公新潮流
  • 基于大语言模型LangChain框架:知识库问答系统实践
  • 解锁Transformer的鲁棒性:深入分析与实践指南
  • mybatis#号和$区别
  • AI绘画 Stable Diffusion【实战进阶】:图片的创成式填充,竖图秒变横屏壁纸!想怎么扩就怎么扩!
  • Linux内核 -- 汇编结合ko案例之PMU获取cpu cycle技术
  • 探索 Symfony 框架:工作原理、特点及技术选型
  • 从万里长城防御体系看软件安全体系建设@安全历史03
  • ISO 19110操作要求类中的/req/operation/formal-definition详细解释
  • 豆包大语言模型API调用错误码一览表