Innodb特性之Read-Ahead(Buffer Pool Prefetching)
Read-Ahead官方說明: https://dev.mysql.com/doc/refman/5.7/en/innodb-performance-read_ahead.html
設計目的:
Read-Ahead用於非同步預取buffer pool中的多個page的一個預測行為。
InnoDB使用兩種提前預讀Read-Ahead演算法來提高I/O效能。
Linear read-ahead:線性預讀
如果一個extent中的被順序讀取的page超過或者等於
innodb_read_ahead_threshold
引數變數時,Innodb將會非同步的將下一個extent讀取到buffer pool中,innodb_read_ahead_threshold可以設定為0-64的任何值(注:innodb中每個extent就只有64個page),預設為56。值越大,訪問模式檢查就越嚴格。
Mark:官網說會預讀取下一個extent,但當前extent剩下沒有取完的page也會一起讀取嘛? 還不沒找到說明
Random read-ahead:隨機預讀
如果當同一個extent中連續的13個page在buffer pool中發現時,Innodb會將該extent中的剩餘page讀到buffer pool中。控制引數
innodb_random_read_ahead
預設沒有開啟。
評估預讀演算法的有效性
The
SHOW ENGINE INNODB STATUS
command displays statistics to help you evaluate the effectiveness of the read-ahead algorithm. Statistics include counter information for the following global status variables:
-
Innodb_buffer_pool_read_ahead 透過預讀讀入buffer pool中資料page數
-
Innodb_buffer_pool_read_ahead_evicted 透過預讀沒有被訪問就被驅逐的page
-
Innodb_buffer_pool_read_ahead_rnd
透過隨機預讀的次數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2727692/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 引擎特性:InnoDB Buffer PoolMySql
- MySQL 5.7新特性之動態修改innodb_buffer_pool大小MySql
- Innodb特性之change buffer
- mysql引數之innodb_buffer_pool_size大小設定MySql
- MySQL innodb_buffer_pool_size 變數MySql變數
- 給從庫預熱innodb buffer pool
- mysql 5.5 -- innodb buffer pool最佳化MySql
- 計算innodb_buffer_pool使用率
- ubuntu 命令列更改innodb_buffer_pool_sizeUbuntu命令列
- 【Mysql】mysql快速預熱innodb_buffer_poolMySql
- MySQL監控InnoDB Buffer Pool命中率MySql
- MySQL innodb buffer pool 命中率以及快取了哪些 InnoDB TableMySql快取
- 【Mysql】讀書筆記之--innodb_buffer_pool記憶體的管理MySql筆記記憶體
- percona save/restore buffer pool特性記錄REST
- MySQL服務端innodb_buffer_pool_size配置引數MySql服務端
- mySQL5.6新特性快速預熱Buffer_Pool緩衝池MySql
- MySQL5.7 線上調整Innodb_Buffer_Pool_size不用重啟mysql程式薦MySql
- SQL Server 2014新特性探祕(2)-SSD Buffer Pool ExtensionSQLServer
- MySQL 8.0 Reference Manual(讀書筆記72節--InnoDB Buffer Pool Configuration (3))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記71節--InnoDB Buffer Pool Configuration (2))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記70節--InnoDB Buffer Pool Configuration (1))MySql筆記
- MySQL入門--記憶體buffer poolMySql記憶體
- InnoDB關鍵特性之自適應hash索引索引
- MySQL中讀頁緩衝區buffer poolMySql
- Innodb關鍵特性之重新整理鄰接頁
- 關於BUFFER POOL的一些總結
- mysql innodb_log_file_size 和innodb_log_buffer_size引數MySql
- CMU15445 (Fall 2019) 之 Project#1 - Buffer Pool 詳解Project
- DB2上的hidded buffer pool的作用DB2
- Mysql核心:INNODB儲存引擎--《十一》Insert BufferMySql儲存引擎
- innodb plugin-Making Buffer Cache Scan ResistantPlugin
- MySQL怎麼緩解讀的壓力的?---buffer poolMySql
- vertex buffer 資料結構 如何讀vb的memory pool資料結構
- Buffer Cache(緩衝區快取)篇:keep pool(保留池)快取
- 深入淺出buffer cache和shared pool記載01
- 深入淺出cache buffer和shared pool記載02
- 深入淺出buffer cache和shared pool記載03
- IO之核心buffer----"buffer cache"