資料庫緩衝池

2021-09-29 16:56:56 字數 716 閱讀 6809

資料庫緩衝池如何讀取資料?

緩衝池管理器會將經常使用的資料儲存起來,在資料庫頁面讀操作的時候,進行判斷。

首先判斷頁面是否在緩衝池中,如果存在就直接讀取,如果不存在,就會通過記憶體或磁碟將頁面存放在緩衝池中再進行讀取。

執行sql語句的時候更新了緩衝池中的資料,資料是否會馬上同步到磁碟上?

對資料庫的記錄進行修改的時候,首先會修改緩衝池中頁裡面的記錄資訊,然後資料庫會以一定的頻率重新整理到磁碟上,並不是每次發生更新操作就會立刻進行磁碟回寫。緩衝池會採用一種叫做checkpoint的機制將資料會寫到磁碟上,這樣做的好處是提高了資料庫的整體效能。

比如,當緩衝池不夠用時,需要釋放一些不常用的頁,就可以採用強行checkpoint的方式,將不常用的髒頁寫到磁碟上,然後再從緩衝池中將這些頁都釋放掉,這裡髒頁指的是緩衝池中被修改的頁,與磁碟上的資料頁不一致。

資料庫緩衝池中沒有需要的頁資料,那麼緩衝池會存在三種讀取資料的方式

資料庫讀取頁的效率總結

如果頁在資料庫緩衝池中,讀取效率最高,如果不在需要去記憶體和磁碟中讀取,相對於磁碟和記憶體,記憶體讀取效率更高。

如果對單個頁讀取,效率較低,採用順序讀取的方式批量對頁進行讀取,平均一頁的讀取效率就會提公升很多,甚至要快於單個頁面在記憶體中的隨機讀取。

記錄極客時間資料庫專欄筆記 極客時間

資料庫緩衝池(Buffer Pool)

innodb儲存引擎是以頁為單位來管理儲存空間的,我們進行的增刪改查操作其實本質上都是在訪問頁面 包括讀頁面 寫頁面 建立新頁面等操作 而磁碟 o需要消耗的時間很多,而在記憶體中進行操作,效率則會高很多,為了能讓資料表或者索引中的資料隨時被我們所用,dbms會申請占用記憶體來作為資料緩衝池,在真正訪...

Mysql資料庫緩衝池學習筆記

1 緩衝池概念 緩衝池簡單來說就是一塊記憶體區域,通過記憶體的速度來彌補磁碟速度較慢對資料庫效能的影響。在資料庫當中讀取頁的操作,首先將從磁碟讀到的頁存放在快取池中,這個過程稱為將頁 fix 在緩衝池中。下一次再讀相同的頁時,首先判斷該頁是不是在緩衝池中。若在,直接讀取。否則,讀取磁碟上的頁。2 那...

執行緒池 資料庫連線池

執行緒池的原理 來看一下執行緒池究竟是怎麼一回事?其實執行緒池的原理很簡單,類似於作業系統中的緩衝區的概念,它的流程如下 先啟動若干數量的執行緒,並讓這些執行緒都處於睡 眠狀態,當客戶端有乙個新請求時,就會喚醒執行緒池中的某乙個睡眠執行緒,讓它來處理客戶端的這個請求,當處理完這個請求後,執行緒又處於...