???TMP TABLE 與 TABLE CACHE
當一個查詢所消耗的記憶體超過配置的 BUFFER 時或者一些其他原因,MYSQL 會開啟暫存 TABLE,暫存 TABLE 先放在記憶體中,記憶體不足再利用 DISK , 用法就像是 L1、L2、L3 CACHE 。 table_cache 的參數定義了能夠 CACHE 多少個TABLE , tmp_table_size 定義了開在記憶體中的暫時 TABLE 有多大,也就是說,這是個全域的記憶體配置。TMP TABLE超過這個大小,就會被寫到硬碟上。
要比對這個參數是否太大要比較 SHOW STATUS 中的 open_tables 跟 opened_tables ,前者是目前所開啟的 TABLE 數,後者是曾經開啟的 TABLE 數,如果後者比前者大很多,表示 TABLE CACHE 太小,可以試試放大。
- Keywords : TABLE, CACHE, 記憶體配置, 記憶體超過配置, 記憶體不足再利用, 目前所開啟, 查詢所消耗, 會開啟暫存, 寫到硬碟上, 可以試試放大, tmp_table_size, table_cache, opened_tables, open_tables, TABLE超過這, STATUS, MYSQL, BUFFER
00
2009-05-20T13:28:13+0000
