MySQL innodb buffer pool 命中率以及快取了哪些 InnoDB Table

張衝andy發表於2023-10-28

本文適用於 MySQL伺服器-版本5.7及更高版本

邏輯I/O比物理I/O快很多倍。因此,DBA應該努力將物理I/O保持在最低水平。

當資料被很好地快取時,總的系統吞吐量是未被很好地快取時的許多倍,這並不罕見,對於具有高負載或嚴格的服務質量目標的系統來說,出色的快取命中率是非常需要的。

InnoDB緩衝區快取的命中率

公式:100 * (1 - (innodb_buffer_pool_reads/innodb_buffer_pool_read_requests ))

注意: 對於具有大型緩衝池的系統,既要關注該比率,也要關注OS頁面讀寫速率的變化可以更好地跟蹤差異。

我們如何找出哪些InnoDB表快取在innodb buffer pool中呢?

使用sys模式可以發現緩衝池(sys模式)中快取了多少頁的表( 從MySQL Server 5.7開始,它是預設安裝的)。 要使用的查詢是: SELECT * FROM sys.innodb_buffer_stats_by_table;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2991658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章