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

您的位置:首頁技術(shù)文章
文章詳情頁

詳解 MySQL的FreeList機(jī)制

瀏覽:13日期:2023-10-08 17:11:57

一、前言

MySQL啟動(dòng)后,BufferPool就會(huì)被初始化,在你沒有執(zhí)行任何查詢操作之前,BufferPool中的緩存頁都是一塊塊空的內(nèi)存,未被使用過也沒有任何數(shù)據(jù)保存在里面。

而且你也知道了通過緩沖頁的描述信息可以直接且唯一的找到它所指向的緩存頁。

那你有沒有想過,我們從磁盤里面讀取出來的 數(shù)據(jù)頁 應(yīng)該放到那個(gè)緩沖頁中去呢?

這個(gè)問題就引出了Free List。

二、Free List

其實(shí)Free List是Buffer Pool中基于緩存頁描述信息 組織起來的雙向鏈表。換言之,F(xiàn)ree List中的每一個(gè)結(jié)點(diǎn)都是緩存頁對(duì)應(yīng)的描述信息。并且通過描述信息可以找到指定的緩存頁(緩存頁)

詳解 MySQL的FreeList機(jī)制

InnoDB設(shè)計(jì)Free List的初衷就是為了解決上面說的問題。

如果這個(gè)緩存頁中沒有存儲(chǔ)任何數(shù)據(jù),那么它對(duì)應(yīng)的描述信息就會(huì)被維護(hù)進(jìn)Free List中。這時(shí)當(dāng)你想把從磁盤中讀取出一個(gè)數(shù)據(jù)頁放入緩存頁中的話,就得先從Free List中找一個(gè)節(jié)點(diǎn)(Free List中的所有節(jié)點(diǎn)都會(huì)指向一個(gè)從未被使用過的緩存頁),那接著就可以把你讀取出來的這個(gè)數(shù)據(jù)頁放入到該節(jié)點(diǎn)指向的緩存頁中。

相應(yīng)的:當(dāng)數(shù)據(jù)頁中被放入數(shù)據(jù)之后。它對(duì)應(yīng)的描述信息塊會(huì)被從Free List中移出。

三、如何判斷數(shù)據(jù)頁有沒有在緩存中?

你會(huì)不會(huì)納悶MySQL怎么知道剛讀取出來的這個(gè)數(shù)據(jù)頁有沒有在緩存頁中呢?

這個(gè)功能的實(shí)現(xiàn)依托于另一個(gè)數(shù)據(jù)結(jié)構(gòu):hash table

key = 表空間號(hào)+數(shù)據(jù)頁號(hào)

value = 緩存頁地址

如果存在于hash table中,那就說明該數(shù)據(jù)頁已經(jīng)存在于Buffer Pool中了,優(yōu)先使用Buffer Pool中的緩存頁。相信你肯定能想到為啥優(yōu)先使用Buffer Pool中的緩存頁吧!首先免去了磁盤的隨機(jī)IO,其次緩存頁中的數(shù)據(jù)可能是已經(jīng)被修改了的臟數(shù)據(jù)。

以上就是詳解 MySQL的FreeList機(jī)制的詳細(xì)內(nèi)容,更多關(guān)于MySQL FreeList機(jī)制的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 精品亚洲国产成av人片传媒 | 六月激情 | 亚洲欧美国产精品专区久久 | av黄网| 久久99久久久久 | 国产精品永久免费观看 | 高清乱码免费看污 | 久久久久精 | av一道本 | 久久夜色精品 | 怡红院欧美 | 欧美日韩亚洲在线观看 | 日韩一区二区视频在线 | 日韩国产在线播放 | 一级黄色大片免费看 | 玖玖爱在线精品视频 | 日本精品视频一区二区 | 欧美日韩一区在线观看 | 99久久精品免费视频 | 日韩成人午夜 | 肢体的诱惑在线观看 | 美国一级大黄一片免费中文 | 综合精品视频 | 国产真实乱人偷精品 | 高清免费毛片 | 美女国产精品 | 国产精品久久久久久久久久免费看 | 三级黄色小视频 | 欧美成人另类 | 香蕉视频免费看 | 你懂的在线网站 | 日韩一区欧美二区 | 亚洲天堂精品在线 | 你懂的在线看 | 亚洲最新在线视频 | 亚洲三级视频在线观看 | 欧美日韩高清一区二区 | 天堂网视频在线观看 | 国产精品国产一区二区三区四区 | 日韩女同一区二区三区 | 伊人久久网站 |