欢迎光临
我们一直在努力

InnoDB redo log格式-物理log

在页面上修改N个字节,可以看做物理log。包括以下几种类型:MLOG_WRITE_STRING、MLOG_8BYTES、MLOG_2BYTES、MLOG_1BYTES、MLOG_4BYTES。各种页链表指针修改以及文件头、段页内容的修改都是以这几种方式记录日志。具体格式如下:

1、MLOG_2BYTES、MLOG_1BYTES、MLOG_4BYTES:

2、MLOG_8BYTES

3、MLOG_WRITE_STRING

4、变长字节算法mach_write_compressed:

if (n < 0x80UL) {  
    mach_write_to_1(b, n);  
    return(1);  
} else if (n < 0x4000UL) {  
    mach_write_to_2(b, n | 0x8000UL);  
    return(2);  
} else if (n < 0x200000UL) {  
    mach_write_to_3(b, n | 0xC00000UL);  
    return(3);  
} else if (n < 0x10000000UL) {  
    mach_write_to_4(b, n | 0xE0000000UL);  
    return(4);  
} else {  
    mach_write_to_1(b, 0xF0UL);  
    mach_write_to_4(b + 1, n);  
    return(5);  
}  

5、mlog_write_ulint、mlog_write_ull、mlog_log_string分别是写入1、2、4;8字节;字符串的日志写入函数。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。