码迷,mamicode.com
首页 > 数据库 > 详细

MySQL InnoDB Engine--数据页存储和UPDATE操作

时间:2020-01-12 20:18:49      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:HERE   ODB   数据页   bit   主键   image   辅助   rom   font   

继续上一个测试

测试2:更新测试

测试脚本:

## 更新C1列并导致数据变化
UPDATE TB001 SET C1=‘BBBB01‘ WHERE ID=‘AA0001‘;
## 更新C1列但不导致数据变化
UPDATE TB001 SET C1=‘BB0002‘ WHERE ID=‘AA0002‘;
## 更新C2列并导致数据变化
UPDATE TB001 SET C2=‘CCCC03‘ WHERE ID=‘AA0003‘;
## 更新C2列但不导致数据变化
UPDATE TB001 SET C2=‘CC0004‘ WHERE ID=‘AA0005‘;

SELECT * FROM TB001;
+--------+--------+--------+
| ID     | C1     | C2     |
+--------+--------+--------+
| AA0001 | BBBB01 | CC0001 |
| AA0002 | BB0002 | CC0002 |
| AA0003 | BB0003 | CCCC03 |
| AA0004 | BB0004 | CC0004 |
+--------+--------+--------+

叶子节点数据:

## 主键索引叶子节点数据
06 06 06 00 00 10 00 27 41 41 30 30 30 31 00 00 00 00 05 4F 38 00 00 00 91 04 6C 42 42 42 42 30 31 43 43 30 30 30 31 
06 06 06 00 00 18 00 27 41 41 30 30 30 32 00 00 00 00 05 41 AE 00 00 00 70 01 1E 42 42 30 30 30 32 43 43 30 30 30 32 
06 06 06 00 00 20 00 27 41 41 30 30 30 33 00 00 00 00 05 52 3A 00 00 00 7C 03 D1 42 42 30 30 30 33 43 43 43 43 30 33 
06 06 06 00 00 28 FF 7B 41 41 30 30 30 34 00 00 00 00 05 46 B1 00 00 00 73 01 10 42 42 30 30 30 34 43 43 30 30 30 34

## 索引IDX_C1叶子节点数据
06 06 20 00 10 00 00 42 42 30 30 30 31 41 41 30 30 30 31 
06 06 00 00 18 00 13 42 42 30 30 30 32 41 41 30 30 30 32 
06 06 00 00 20 00 13 42 42 30 30 30 33 41 41 30 30 30 33 
06 06 00 00 28 00 13 42 42 30 30 30 34 41 41 30 30 30 34 
06 06 00 00 30 FF A5 42 42 42 42 30 31 41 41 30 30 30 31

技术图片

对比更新前后数据,发现:

1、更新未造成数据变化的操作不会导致主键记录的"事务信息“和"回滚指针"发生变化(需更多测试以确认)

2、当辅助索引记录被更新时,原索引记录会被表示未删除,4字节40bits的记录头信息中有1bit用来表示记录是否被删除。

 

UPDATE记录AA0003产生的UNOD日志:

## 更新产生的UNDO日志
日志结束位置:03 F6 
日志头信息:1C 00 2B 
事务信息:00 00 00 00 05 41 
未知信息:E0
回滚指针:AE 00 00 00 70 01 2C 
ID列长度:06
ID列(AA003):41 41 30 30 30 33 
C2列位置:01(第二列) 
C2列长度: 04(主键00>事务信息01>回滚指针02>C1列03>C2列04) 
C2列长度:06 
C2列(CC003):43 43 30 30 30 33 
日志开始位置:03 D1

MySQL InnoDB Engine--数据页存储和UPDATE操作

标签:HERE   ODB   数据页   bit   主键   image   辅助   rom   font   

原文地址:https://www.cnblogs.com/gaogao67/p/12184336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!