table_open_cache 表打开缓存
mysql> show variables like 'table_open%';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| table_open_cache | 400 |
相关变量
mysql> show global status like 'open%_tables';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Open_tables | 384 | 打开的缓存表数量
| Opened_tables | 768975 | 打开的所有表数量
===============================================
table_open_cache 这个参数设置多少合适呢?
——肯定不是越大越好,太大了会占用太多文件描述符,描述符用尽会导致无法建立新连接。那这么设置这个值呢?
1. 根据Open_tables,这个参数接近table_open_cache,说明缓冲池快满了
2. Opened_tables还一直在增加,说明还有新的表打开没有被缓存
总结,同时符合上面两条说明你的表打开缓存太小了,需要适量增加。