MySQL學習筆記 6 髒頁重新整理策略

2021-09-24 07:33:20 字數 626 閱讀 9674

innodb的redo log寫滿了系統記憶體不足系統空閒時(不影響效能)

mysql正常關閉過程(不影響效能)

這種情況要盡量避免,出現這種情況的時候,整個系統就不能再接受更新了,所有更新都將被阻塞

記憶體不足是指innodb中的buffer pool的剩餘記憶體不足

buffer pool中的資料頁有三種狀態:

資料頁從磁碟讀入記憶體時,需要向buffer_pool申請乙個資料頁,buffer_pool會根據lru演算法淘汰乙個資料頁,如果淘汰的資料頁是髒頁,那麼會先將髒頁資料重新整理到磁碟中,然後才復用資料頁;如果乙個查詢要淘汰掉的髒頁太多了,會導致查詢的響應時間變長

刷髒頁的額時候,如果發現髒頁旁邊的資料頁(鄰居)也是髒頁,就會將這個鄰居也一併刷掉,以此類推

連坐機制對於機械硬碟是很有意義的,機械硬碟iops比較低,通過連坐機制可以減少大量隨機io

對於ssd裝置,建議設定innodb_flush_neighbors = 0,因為ssd的iops很高

mysql 髒頁重新整理 InnoDB髒頁重新整理機制

我們知道innodb採用write ahead log策略來防止宕機資料丟失,即事務提交時,先寫重做日誌,再修改記憶體資料頁,這樣就產生了髒頁。既然有重做日誌保證資料永續性,查詢時也可以直接從緩衝池頁中取資料,那為什麼還要重新整理髒頁 到磁碟呢?如果重做日誌可以無限增大,同時緩衝池足夠大,能夠快取所...

mysql髒頁 MySQL效能調優 髒頁重新整理

原理 當記憶體資料頁跟磁碟資料頁內容不一致的時候,我們稱這個記憶體頁為 髒頁 記憶體資料寫入到磁碟後,記憶體和磁碟上的資料頁的內容就一致了,稱為 乾淨頁 當要讀入的資料頁沒有在記憶體的時候,就必須到緩衝池中申請乙個資料頁。這時候只能把最久不使用的資料頁從記憶體中淘汰掉 如果要淘汰的是乙個乾淨頁,就直...

mysql學習筆記 6 儲存過程

原本覺得掌握最基本的語法就行了,但發現老師最近又提到了儲存過程,我覺得有必要學習整理一下,以下是我的簡單筆記 儲存過程的含義以及優點儲存過程的建立語法 create procedure 儲存過程名 引數列表 begin 儲存過程體 一般合法的sql語句 end引數列表包含三個部分 引數模式,引數名稱...