MySQL 9.0 版本注意事項
對於具有多 GB 範圍緩衝池的系統,將緩衝池分成不同的實例可以透過減少不同執行緒讀取和寫入快取頁面時的爭用,來提高並行性。此功能通常適用於具有多 GB 範圍緩衝池大小的系統。多個緩衝池實例是使用 innodb_buffer_pool_instances
設定選項來設定的,您也可以調整 innodb_buffer_pool_size
值。
當 InnoDB
緩衝池很大時,可以透過從記憶體擷取來滿足許多資料要求。您可能會遇到多個執行緒嘗試同時存取緩衝池所造成的瓶頸。您可以啟用多個緩衝池來盡量減少這種爭用。儲存在或從緩衝池讀取的每個頁面都會使用雜湊函數隨機指派給其中一個緩衝池。每個緩衝池都管理其自己的可用清單、刷新清單、LRU 和所有其他連接到緩衝池的資料結構。
若要啟用多個緩衝池實例,請將 innodb_buffer_pool_instances
設定選項設定為大於 1(預設值)到 64(最大值)的值。只有在您將 innodb_buffer_pool_size
設定為 1GB 或更大的大小時,此選項才會生效。您指定的總大小會分配給所有緩衝池。為了獲得最佳效率,請指定 innodb_buffer_pool_instances
和 innodb_buffer_pool_size
的組合,使每個緩衝池實例至少為 1GB。
有關修改 InnoDB
緩衝池大小的資訊,請參閱第 17.8.3.1 節「設定 InnoDB 緩衝池大小」。