InnoDB存儲引擎-內存-緩衝池

概述

InnoDB存儲引擎是基於磁盤存儲的, 並將其記錄按照的方式進行管理. 而磁盤IO與內存IO的速度相差可能接近1000倍, 所以使用緩衝池(Buffer Pool)可以有效提高響應能力. 當數據庫需要進行數據頁讀取的時候, 先將頁數據存儲在緩衝池中, 下一次再讀取的時候, 先檢查緩衝池中是否存在數據, 如果存在則稱爲命中(hit), 否則會讀取磁盤上的頁.
爲了提高大容量讀取的效率, 緩衝池被分爲多個頁面, 每個頁面可以存儲多個行. 爲了提高緩衝池的管理效率, 緩衝池的頁面被實現爲鏈表, 使用LRU算法的變體來將部分數據老化掉.

LRU算法

在這裏插入圖片描述

緩衝池配置

使用InnoDB的標準監視器監視緩衝池

使用如下命令SHOW ENGINE INNODB STATUS;來查看當前的InnoDB引擎狀態

InnoDB緩衝池與性能優化

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章