mysql> create table if not exists student( name varchar(11) not null, age int not null ); mysql> insert into student (name, age) values ('张三', 28); mysql> select * from student; +--------+-----+ | name | age | +--------+-----+ | 张三 | 28 | +--------+-----+
上面描述的意思是:
目前并不知道创建该记录的事务ID,隐式主键,就默认设置成null,1
第一条记录也没有其他版本,设置回滚指针为null
name
age
**DB_TRX_ID(**创建该记录的事务ID)
**DB_ROW_ID(**隐式主键)
**DB_ROLL_PTR(**回滚指针)
张三
28
null
1
null
3.undo日志
这里不想细讲,但是有一件事情得说清楚, MySQL 将来是以服务进程的方式在内存中运行
之前所讲的所有机制:索引,事务,隔离性,日志等,都是在内存中完成的
即:在 MySQL 内部的相关缓冲区中,保存相关数据,完成各种判断操作,然后在合适的时候,将相关数据刷新到磁盘当中的
所以,这里理解undo log,简单理解成,就是 MySQL 中的一段内存缓冲区,用来保存日志数据的就行