午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

MySQL三大日志(binlog、redo log和undo log)圖文詳解

瀏覽:290日期:2023-02-18 16:43:24
目錄
  • 1.redo log
    • redo log概述
    • 刷盤時機
      • innodb_flush_log_at_trx_commit=0
      • innodb_flush_log_at_trx_commit=1
      • innodb_flush_log_at_trx_commit=2
    • 日志文件組
    • 2.binlog binlog
      • 概述
        • 記錄格式
          • 寫入機制
            • 刷盤時機
            • 3.兩階段提交
              • 4.undo log
                • 5.總結
                  • 總結

                    1.redo log

                    redo log概述

                    redo log(重做日志)是InnoDB存儲引擎獨有的,它讓MySQL擁有了崩潰恢復能力。

                    比如 MySQL 實例掛了或宕機了,重啟時,InnoDB存儲引擎會使用redo log恢復數據,保證數據的持久性與完整性。

                    MySQL 中數據是以頁為單位,你查詢一條記錄,會從硬盤把一頁的數據加載出來,加載出來的數據叫數據頁,會放入到 Buffer Pool 中。

                    后續的查詢都是先從 Buffer Pool 中找,沒有命中再去硬盤加載,減少硬盤 IO 開銷,提升性能。

                    更新表數據的時候,也是如此,發現 Buffer Pool 里存在要更新的數據,就直接在 Buffer Pool 里更新。

                    然后會把“在某個數據頁上做了什么修改”記錄到重做日志緩存(redo log buffer)里,接著刷盤到 redo log 文件里。

                    刷盤時機

                    InnoDB 存儲引擎為 redo log 的刷盤策略提供了 innodb_flush_log_at_trx_commit 參數,它支持三種策略:

                    • 0 :設置為 0 的時候,表示每次事務提交時不進行刷盤操作
                    • 1 :設置為 1 的時候,表示每次事務提交時都將進行刷盤操作 (默認值)
                    • 2 :設置為 2 的時候,表示每次事務提交時都只把 redo log buffer 內容寫入 page cache

                    另外,InnoDB 存儲引擎有一個后臺線程,每隔1 秒,就會把 redo log buffer 中的內容寫到文件系統緩存(page cache),然后調用 fsync 刷盤。

                    也就是說,一個沒有提交事務的 redo log 記錄,也可能會刷盤

                    標簽: MySQL
                    主站蜘蛛池模板: 欧美精品在线一区二区三区 | 99精品欧美一区二区三区综合在线 | 超碰激情在线 | 久久中文字幕视频 | 91久久精品一区二区三区 | 免费成年人视频在线观看 | 日韩欧美视频在线播放 | 丁香婷婷深情五月亚洲 | 456亚洲视频 | av免费看片 | 国产精品成人网 | 欧美激情专区 | 国产精品99久久久久久动医院 | 欧美日韩精品在线 | 欧美成人a | 婷久久 | 91成人精品一区在线播放 | 91大奶| 午夜免费成人 | 麻豆成人精品 | 成人激情综合 | 欧美黄色录像 | 午夜三级在线 | 热热99 | 日韩在线免费观看视频 | 黄色大片免费网站 | 日韩网站免费观看高清 | 国产97免费视频 | 日本二区在线观看 | 日韩精品久久 | 亚洲一区二区三区免费 | 在线免费黄| 夜夜艹| 日韩高清欧美 | 国产成人精品一区二区三区 | 神马影院一区二区三区 | 天天操综合网 | 国产一级淫片久久久片a级 香港之夜完整在线观看 | 大地资源1080在线观看 | 久久免费视频播放 | 国产xx视频 |