Mysql
memcached 能否在具有較大 innodb_buffer_pool_size 的 mem 中提高 InnoDB 的性能?
我了解到innodb_buffer_pool_size使 InnoDB 表現得像一個記憶體數據庫。如果我給 innodb_buffer_pool_size 足夠的記憶體供整個數據庫使用, memcached是否可以進一步提高性能,或者在這樣的設置中不需要memcached ?
InnoDB 緩衝池是三類資訊結構的所在地
- 已訪問的表數據頁
- 已訪問的表索引頁面
- 插入緩衝區更改以更新 ibdata1(系統表空間)中的二級索引
- 請參閱 InnoDB 緩衝池和 ibdata1 的圖示
如果你讓 InnoDB 緩衝池足夠大,那麼你訪問過的所有數據基本上都將保留在 RAM 中。您從未讀取但最終決定讀取的任何數據都將在 InnoDB 緩衝池中記憶體數據和索引。請閱讀我的文章:InnoDB 和 MyISAM 之間的主要區別是什麼?關於如何確定一個好的 InnoDB 緩衝池的大小。
給定一個足夠大的 InnoDB 緩衝池,我會排除使用 memcached。