資料字典物件快取是一個共用的全域快取,它將先前存取的資料字典物件儲存在記憶體中,以便重複使用物件並減少磁碟 I/O。與 MySQL 使用的其他快取機制類似,資料字典物件快取使用基於 LRU 的逐出策略,將最近最少使用的物件從記憶體中逐出。
資料字典物件快取包含儲存不同物件類型的快取分割區。某些快取分割區大小限制是可配置的,而其他則為硬式編碼。
表空間定義快取分割區:儲存表空間定義物件。
tablespace_definition_cache
選項設定可儲存在資料字典物件快取中的表空間定義物件數量限制。預設值為 256。結構描述定義快取分割區:儲存結構描述定義物件。
schema_definition_cache
選項設定可儲存在資料字典物件快取中的結構描述定義物件數量限制。預設值為 256。資料表定義快取分割區:儲存資料表定義物件。物件限制設定為
max_connections
的值,預設值為 151。資料表定義快取分割區與使用
table_definition_cache
配置選項設定的資料表定義快取並行存在。兩個快取都儲存資料表定義,但服務於 MySQL 伺服器的不同部分。一個快取中的物件不存在對另一個快取中物件存在的依賴性。儲存程式定義快取分割區:儲存儲存程式定義物件。
stored_program_definition_cache
選項設定可儲存在資料字典物件快取中的儲存程式定義物件數量限制。預設值為 256。儲存程式定義快取分割區與使用
stored_program_cache
選項設定的儲存程序和儲存函式快取並行存在。stored_program_cache
選項為每個連線快取的儲存程序或函式數量設定一個軟性上限,並且每次連線執行儲存程序或函式時都會檢查此限制。另一方面,儲存程式定義快取分割區是一個共用快取,它儲存其他用途的儲存程式定義物件。儲存程式定義快取分割區中物件的存在不依賴於儲存程序快取或儲存函式快取中物件的存在,反之亦然。字元集定義快取分割區:儲存字元集定義物件,並具有 256 的硬式編碼物件限制。
校對定義快取分割區:儲存校對定義物件,並具有 256 的硬式編碼物件限制。
有關資料字典物件快取配置選項的有效值資訊,請參閱第 7.1.8 節「伺服器系統變數」。