Innodb undo之 undo物理结构的初始化

  • 时间:
  • 浏览:0
  • 来源:万人红黑大战棋牌APP_万人红黑大战棋牌APP官网

TRX_SYS_N_RSEGS 然后128

参数 innodb_undo_logs

多了有另一个长度

时不时以来未对Innodb 的undo进行好好的学习,最近刚好很糙时间准备学习一下,通过阿里内核月报和自己看代码的综合总结一下。本文环境:

本步骤会有有另一个注释如下:

3、初始化每个undo segment header所在的page no

本文描述使用如上参数的设置。

最终当当当我们 就看初始化完成后undo segment slot指向的完会 FIL_NULL,及如此 指向,当实际分配的事先 哪些slot就会指向当当当我们 的undo segment header。

作为 base node的 TRX_RSEG_HISTORY当当当我们 可不可以 就看定义如下

调用 trx_sys_create_rsegs进行:

简单的讲然后建立undo tablespace只有在初始化实例的事先 ,将会space id将会固定了。

当当当我们 这里不准备考虑临时rollback segments

1、建立rollback segment

完成了这种步事先 ibdata的 block 5 就初始化完了,有然后当当当我们 就看所有的rollback segment slots 都初始化完成(源码所示有256个,实际上最多只会有128个,其中0号solt固定在ibdata中),注意这里的槽大小是TRX_SYS_RSEG_SLOT_SIZE设置的大小为8字节,4字节space id ,4字节 page no,它们会指向 rollback segment header所在的位置。

当当当我们 不能注意到这里是i % n_spaces的取模法律法律依据n_spaces为当当当我们 innodb_undo_tablespaces参数设置的值,有然后每个rollback segment 是轮序的法律法律依据分布到有另一个不同的undo tablespace中的。

根据注释和代码innodb_undo_logs将会是个淘汰的参数,应该用innodb_rollback_segments代替。

这有另一个参数默认是然后TRX_SYS_N_RSEGS及 128 虽然不必设置的。本文也用128进行讨论。

这里 block3-block26 然后当当当我们 的rollback segment header block。我这里当然是 有另一个undo tablespace的状态,看的是undo tablespace 1。看来如此 大现象。分析正确。

参数 innodb_rollback_segments

本步骤调用 trx_sys_create_sys_pages->trx_sysf_create进行,本步骤除了初始化transaction system segment以外完会初始化其header( ibdata page no 5))信息如下:

4、整个rollback segment 初始化完成后将space id和page no 写回到 transaction system segment header中。

为了让图更加美观和好理解,我这里使用的是innodb_undo_tablespaces=2的状态下作图,也然后只有有另一个 undo tablespace的状态。虽然有另一个也是同样的道理,将会rollback segment slot是轮询在表空间分配的。

参考文献:

http://mysql.taobao.org/monthly/2015/04/01/ 阿里内核月报

初始化的状态下当当当我们 就看指向的page no完会 FIL_NULL,说明如此 分配任何实际的undo segment。

到这里128 rollback segment将会初始化完成,有然后 每个都蕴含102有另一个 undo segment slots。

本过程主要有如下有几个步骤:

下面是注释和代码

其中fsp_header_init要素代码如下:

一同当当当我们 可不可以 看看undotablespace到底蕴含哪些类型块,使用自制的小工具读取如下:

本过程调用函数srv_undo_tablespaces_init进行,栈帧如下:

做完这种步骤然后生成了有另一个大小为10MB的 undo tablespace文件,有然后将会加入到Innodb文件体系,有然后顶端如此 任何类容。

如上是trx_rseg_create调用trx_rseg_header_create完成的。步骤要花费如下:

2、初始化TRX_RSEG_MAX_SIZE和TRX_RSEG_HISTORY_SIZE信息

哪些完会 fsp的内容。