MySQL高级-MVCC-隐藏字段

文章目录

  • 1、介绍
  • 2、测试
    • [2.1、进入服务器中的 /var/lib/mysql/atguigu/](#2.1、进入服务器中的 /var/lib/mysql/atguigu/)
    • [2.2、查看有主键的表 stu](#2.2、查看有主键的表 stu)
    • [2.3、查看没有主键的表 employee](#2.3、查看没有主键的表 employee)

1、介绍

sql 复制代码
+----+-----+-------+
| 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/

sql 复制代码
[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

bash 复制代码
[root@localhost atguigu]# ibd2sdi stu.ibd 

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





2.3、查看没有主键的表 employee

2.3.1、创建表 employee

sql 复制代码
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、查看表结构及其其中的字段信息

bash 复制代码
[root@localhost atguigu]# ibd2sdi employee.ibd





相关推荐
叁沐6 分钟前
MySQL 05 深入浅出索引(下)
mysql
陈卓41037 分钟前
MySQL-主从复制&分库分表
android·mysql·adb
你都会上树?1 小时前
MySQL MVCC 详解
数据库·mysql
长征coder2 小时前
AWS MySQL 读写分离配置指南
mysql·云计算·aws
ladymorgana3 小时前
【docker】修改 MySQL 密码后 Navicat 仍能用原密码连接
mysql·adb·docker
PanZonghui3 小时前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
GreatSQL社区3 小时前
用systemd管理GreatSQL服务详解
数据库·mysql·greatsql
掘根3 小时前
【MySQL进阶】错误日志,二进制日志,mysql系统库
数据库·mysql
weixin_438335403 小时前
基础知识:mysql-connector-j依赖
数据库·mysql
小明铭同学3 小时前
MySQL 八股文【持续更新ing】
数据库·mysql