最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1、背景

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

2、redo日志

【1】格式

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

在這里插入圖片描述

字段含義如下:

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

【2】類型

redo日志類型常見(jiàn)的有如下幾種:

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

接下來(lái)就大概講一下幾種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ù)一樣,有的場(chǎng)景一組redo日志也具有原子性的特性,所以就有MLOG_MULTI_REC_END類型的redo日志來(lái)表示一組redo日志的最后一條,為了區(qū)分redo日志到底是單一的還是屬于某個(gè)組的,就將redo日志結(jié)構(gòu)中的type字段8字節(jié)分為前面1字節(jié)和后面7字節(jié),前面1字節(jié)為1就代表單一的redo日志,否則就為某個(gè)組的redo日志,后面7個(gè)字節(jié)用來(lái)表示redo日志類型。

【4】Mini-Transaction

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

3、總結(jié)

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

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

相關(guān)文章

  • MySQL?存儲(chǔ)引擎InnoDB最佳實(shí)踐

    MySQL?存儲(chǔ)引擎InnoDB最佳實(shí)踐

    InnoDB是一款兼顧高可靠性和高性能的通用存儲(chǔ)引擎,在MySQL8.0中默認(rèn)的存儲(chǔ)引擎是InnoDB,這篇文章主要介紹了MySQL存儲(chǔ)引擎InnoDB詳解,需要的朋友可以參考下
    2025-05-05
  • 最新評(píng)論

    浙江省| 昌吉市| 肇州县| 双桥区| 铜山县| 深泽县| 信宜市| 兴宁市| 新津县| 西盟| 沾益县| 高雄县| 临泽县| 新兴县| 双流县| 苗栗市| 新安县| 金堂县| 萝北县| 华亭县| 岳普湖县| 青海省| 高要市| 衡东县| 永城市| 米易县| 紫阳县| 甘肃省| 马龙县| 清远市| 板桥市| 从化市| 阿坝| 安远县| 正阳县| 安陆市| 益阳市| 鄂州市| 青浦区| 梁河县| 齐河县|