欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL之InnoDB中的redo日志類型詳解

 更新時間:2025年06月26日 09:28:11   作者:在成都搬磚的鴨鴨  
這篇文章主要介紹了MySQL之InnoDB中的redo日志類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1、背景

執(zhí)行我們的sql語句是在Buffer Pool中操作的,因?yàn)樗⑿碌酱疟P慢的原因可能不會立即同步到磁盤,當(dāng)系統(tǒng)崩潰時,肯定不能讓我們的操作丟失,但是Buffer Pool中的臟頁還未同步到磁盤,所以就要把操作Buffer Pool的這一過程更輕量的記錄下來并寫的磁盤,記錄下來的內(nèi)容就叫redo日志

2、redo日志

【1】格式

redo日志的類型有很多種,每條日志的前面部分都是相同的,其通用結(jié)構(gòu)如下如圖所示:

在這里插入圖片描述

字段含義如下:

字段含義
typeredo日志類型
space ID表空間ID
page number頁號
dataredo日志的具體內(nèi)容

【2】類型

redo日志類型常見的有如下幾種:

字段十進(jìn)制數(shù)含義
MLOG_1BYTE1在頁面的某個偏移量處寫入1個字節(jié)的redo日志類型
MLOG_2BYTE2在頁面的某個偏移量處寫入2個字節(jié)的redo日志類型
MLOG_4BYTE4在頁面的某個偏移量處寫入4個字節(jié)的redo日志類型
MLOG_8BYTE8在頁面的某個偏移量處寫入8個字節(jié)的redo日志類型
MLOG_WRITE_STRING30在頁面的某個偏移量處寫入一串?dāng)?shù)據(jù)的redo日志類型
MLOG_REC_INSERT9插入一條使用非緊湊行格式記錄的redo日志類型
MLOG_COMP_REC_INSERT38插入一條使用緊湊行格式記錄的redo日志類型
MLOG_COMP_PAGE_CREATE58創(chuàng)建一個存儲緊湊行格式記錄的頁面的redo日志類型
MLOG_COMP_REC_DELETE42刪除一條使用緊湊行格式記錄的redo日志類型
MLOG_COMP_LIST_START_DELETE44刪除一系列使用緊湊行格式記錄的開頭redo日志類型
MLOG_COMP_LIST_END_DELETE43刪除一系列緊湊行格式記錄的結(jié)尾redo日志類型
MLOG_ZIP_PAGE_COMPRESS51壓縮一個數(shù)據(jù)頁的redo日志類型
MLOG_MULTI_REC_END31代表一組redo日志中的最后一條redo日志類型

接下來就大概講一下幾種redo日志類型結(jié)構(gòu), MLOG_1BYTE、 MLOG_2BYTE、 MLOG_4BYTE、 MLOG_8BYTE的結(jié)果如下:

在這里插入圖片描述

MLOG_WRITE_STRING類型結(jié)構(gòu)如下:

在這里插入圖片描述

MLOG_COMP_REC_INSERT類型結(jié)構(gòu)如下:

在這里插入圖片描述

【3】組

像事務(wù)一樣,有的場景一組redo日志也具有原子性的特性,所以就有MLOG_MULTI_REC_END類型的redo日志來表示一組redo日志的最后一條,為了區(qū)分redo日志到底是單一的還是屬于某個組的,就將redo日志結(jié)構(gòu)中的type字段8字節(jié)分為前面1字節(jié)和后面7字節(jié),前面1字節(jié)為1就代表單一的redo日志,否則就為某個組的redo日志,后面7個字節(jié)用來表示redo日志類型。

【4】Mini-Transaction

訪問一組redo日志的過程叫做Mini-Transaction,一個事務(wù)可以包含多個語句,一個語句可以包含多個Mini-Transaction,一個Mini-Transaction包含多個redo日志,這就是它們之間的關(guān)系。

3、總結(jié)

本文主要簡單介紹了一下redo日志有哪幾種類型,還有一些其它的類型可以在網(wǎng)上大概查找了解一下。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql建立自定義函數(shù)的問題

    mysql建立自定義函數(shù)的問題

    由于這幾天在寫mysql存儲過程且發(fā)現(xiàn)程序體積越來越龐大,于是嘗試使用mysql的函數(shù)
    2011-04-04
  • mysql 數(shù)據(jù)庫死鎖原因及解決辦法

    mysql 數(shù)據(jù)庫死鎖原因及解決辦法

    這篇文章主要介紹了mysql 數(shù)據(jù)庫死鎖原因及解決辦法,需要的朋友可以參考下
    2016-01-01
  • Mysql8.4.3LTS中離線部署的實(shí)現(xiàn)示例

    Mysql8.4.3LTS中離線部署的實(shí)現(xiàn)示例

    本文詳細(xì)介紹了在Ubuntu 24.04系統(tǒng)上離線部署MySQL 8.4.3 LTS,包括環(huán)境配置、安裝步驟等步驟,對小白有一定的幫助,感興趣的可以了解一下
    2024-11-11
  • MySQL學(xué)習(xí)之基礎(chǔ)命令實(shí)操總結(jié)

    MySQL學(xué)習(xí)之基礎(chǔ)命令實(shí)操總結(jié)

    MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的。本文將為大家詳細(xì)介紹一些MySQL的基礎(chǔ)命令,需要的可以參考一下
    2022-03-03
  • Mysql實(shí)驗(yàn)之使用explain分析索引的走向

    Mysql實(shí)驗(yàn)之使用explain分析索引的走向

    索引是mysql的必須要掌握的技能,同時也是提供mysql查詢效率的手段。通過以下的一個實(shí)驗(yàn)可以理解?mysql的索引規(guī)則,同時也可以不斷的來優(yōu)化sql語句
    2018-01-01
  • MySQL?InnoDB鎖類型及鎖原理實(shí)例解析

    MySQL?InnoDB鎖類型及鎖原理實(shí)例解析

    這篇文章主要為大家介紹了MySQL?InnoDB鎖類型及鎖原理實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • MySQL客戶端軟件(DBeaver)連接報錯解決方案

    MySQL客戶端軟件(DBeaver)連接報錯解決方案

    DBeaver是一個開源的通用數(shù)據(jù)庫管理工具,可以連接多種不同類型的數(shù)據(jù)庫,本文主要介紹了MySQL客戶端軟件(DBeaver)連接報錯解決方案,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 一篇文章帶你掌握MySQL索引下推

    一篇文章帶你掌握MySQL索引下推

    索引條件下推,也叫索引下推,英文全稱Index Condition Pushdown,簡稱ICP,索引下推是MySQL5.6新添加的特性,用于優(yōu)化數(shù)據(jù)的查詢,下面這篇文章主要給大家介紹了關(guān)于MySQL索引下推的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • MySQL5.7.20解壓版安裝和修改root密碼的教程

    MySQL5.7.20解壓版安裝和修改root密碼的教程

    這篇文章主要介紹了MySQL5.7.20解壓版安裝和修改root密碼的教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • MySQL中增量備份的幾種實(shí)現(xiàn)方法

    MySQL中增量備份的幾種實(shí)現(xiàn)方法

    MySQL數(shù)據(jù)庫的增量備份是確保數(shù)據(jù)安全和可恢復(fù)性的關(guān)鍵策略,本文就來介紹一下如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01

最新評論