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

詳解 MySQL的FreeList機(jī)制

 更新時間:2020年11月25日 15:39:22   作者:賜我白日夢  
這篇文章主要介紹了MySQL的FreeList機(jī)制的相關(guān)資料,幫助大家更好的理解和使用MySQL 數(shù)據(jù)庫,感興趣的朋友可以了解下

一、前言

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

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

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

這個問題就引出了Free List。

二、Free List

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

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

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

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

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

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

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

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

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ī)制的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mysql數(shù)據(jù)庫您要的常見日期查詢方法總結(jié)

    mysql數(shù)據(jù)庫您要的常見日期查詢方法總結(jié)

    這篇文章主要介紹了MySQL中常用日期查詢的20種方法,包括查詢今天、昨天、近7天、近30天等數(shù)據(jù),以及查詢特定日期的周、月、季度和年份數(shù)據(jù),需要的朋友可以參考下
    2025-02-02
  • MySQL的子查詢中FROM和EXISTS子句的使用教程

    MySQL的子查詢中FROM和EXISTS子句的使用教程

    這篇文章主要介紹了MySQL的子查詢中FROM和EXISTS子句的使用教程,子查詢是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-12-12
  • MySql存儲過程異常處理示例代碼分享

    MySql存儲過程異常處理示例代碼分享

    在網(wǎng)上查了好多資料,發(fā)現(xiàn)關(guān)于mysql的異常處理資料都是一些錯誤號列表,對于平時運(yùn)行中,我們可能更多的希望能夠記錄準(zhǔn)確的錯誤消息到日志中
    2012-06-06
  • MySQL中count(*)、count(1)和count(col)的區(qū)別匯總

    MySQL中count(*)、count(1)和count(col)的區(qū)別匯總

    count()函數(shù)是用來統(tǒng)計表中記錄的一個函數(shù),返回匹配條件的行數(shù),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL中count(*)、count(1)和count(col)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-03-03
  • MySQL用戶授權(quán)管理及白名單的實(shí)現(xiàn)

    MySQL用戶授權(quán)管理及白名單的實(shí)現(xiàn)

    MySQL作為一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在權(quán)限管理和用戶認(rèn)證方面提供了豐富的功能和方案,本文主要介紹了MySQL用戶授權(quán)管理及白名單的實(shí)現(xiàn),感興趣的可以了解一下
    2023-09-09
  • MySQL怎么給字符串字段加索引

    MySQL怎么給字符串字段加索引

    本文主要介紹了MySQL怎么給字符串字段加索引,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MySql新手入門的基本操作匯總

    MySql新手入門的基本操作匯總

    MySQL是目前來說最好的 RDBMS應(yīng)用軟件之一,這篇文章主要給大家介紹了關(guān)于MySql基本操作的相關(guān)資料,非常適合mysql新手入門,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • MySQL5.7安裝過程并重置root密碼的方法(shell 腳本)

    MySQL5.7安裝過程并重置root密碼的方法(shell 腳本)

    由于 MySQL 5.7 版本的 root 密碼是首次啟動時隨機(jī)生成的,并且還要求必須修改后才能使用。下面小編給大家分享使用shell 腳本完成安裝和設(shè)置新的 root 密碼的方法,一起看看吧
    2016-12-12
  • MySQL 分庫分表實(shí)踐

    MySQL 分庫分表實(shí)踐

    本文主要介紹了MySQL 分庫分表實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • navicat連接mysql出現(xiàn)2059錯誤的解決方法

    navicat連接mysql出現(xiàn)2059錯誤的解決方法

    這篇文章主要為大家詳細(xì)介紹了navicat連接mysql出現(xiàn)2059錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

堆龙德庆县| 惠水县| 五家渠市| 巫溪县| 乌恰县| 密云县| 宜春市| 孝昌县| 鹤壁市| 辉南县| 大厂| 金秀| 射洪县| 九江县| 怀仁县| 绥阳县| 双流县| 阜阳市| 兴仁县| 依安县| 伊吾县| 拜泉县| 桂平市| 中宁县| 宝清县| 荆州市| 鲁甸县| 辛集市| 桐庐县| 资阳市| 黄骅市| 临沭县| 神木县| 马公市| 扎鲁特旗| 汤阴县| 嘉黎县| 新竹县| 汨罗市| 个旧市| 宜良县|