8.0 預設值
1073741824 (1GB)
8.4 預設值
0
Dynamic
Yes
需特別關注
需特別關注
簡介
設置 TempTable 儲存引擎當開始在 disk 上使用內部臨時表前,允許 TempTable 從memory-mapped files 所能分配的最大內存量。
說明
TempTable 儲存引擎用於 Internal Temporary Table,也就是 MySQL 再處理一些語句時需要創建的臨時表,最常見的就是在 explain 中看到 Using temporary。
TempTable 引擎會在超過 temptable_max_ram 的上限之前使用 memory 存放臨時表。
接著如果還是不夠使用,會在超過 temptable_max_mmap 的上限之前,使用 memory-mapped files (tmpdir)。
如果還是超過則會在 disk 上建立,這是效能最低的狀況。
建議
觀察 Instance 對於內部臨時表的使用狀況。
- Created_tmp_tables:在內存或 disk 上創建的內部臨時表數量。
- Created_tmp_disk_tables:在 disk 上創建的內部臨時表數量。
主要觀察以上 2 個指標,如果 Created_tmp_disk_tables 過高應該調整參數或優化語法。
參考
‣
‣
‣