MySQL Status Table_open_cache_overflows 数据库状态作用意思及如何正确
本站中文解释
MySQL status变量 Table_open_cache_overflows 指的是当MySQL的打开表的缓存满了的时候,比缓存大的表请求需要重新建立连接时所统计的数量(当MySQL 的打开表的缓存满了,就会统计Table_open_cache_overflows)。
Table_open_cache_overflows是MySQL status变量,它反映了表缓存中有多少表连接没有被缓存,也就是说,对于没有存入缓存中的表,MySQL需要在内存中重新打开表。如果该变量值较高,说明客户端有大量查询需要重新打开表,这可能是因为MySQL表缓存不够大造成的。
要解决表缓存不够大的问题,可以通过增大table_open_cache的值来实现。table_open_cache用来控制MySQL表缓存容量,是MySQL中一个重要的配置参数。它默认的值一般是2000,可以根据系统的实际情况,增大或减少该值的大小,以确保系统能够最大限度的利用table_open_cache这一缓存机制,来改善MySQL的性能表现。
可以通过MySQL Workbench或者命令行查看并设置table_open_cache参数:
MySQL Workbench:
1、在MySQL Workbench中,在”Administration”选项卡中,点击”Server Administration”,即可看到”Parameter”选项卡;
2、在”Parameter”页面中,输入”table_open_cache”,或者直接点击”Search”查找table_open_cache的值;
3、在”Parameter Value”一栏编辑要设定的Table_open_cache的值,然后单击”Apply Changes”按钮,即可将table_open_cache参数设定到指定的值。
命令行:
为了设置 MySQL 的table_open_cache参数,首先在命令行下,使用 root 用户连接 MySQL:
mysql -u root -p
然后再执行以下命令来更新table_open_cache参数:
SET GLOBAL table_open_cache=10000;
这样就将table_open_cache参数设定为10000,更新已成功:
mysql> SET GLOBAL table_open_cache=10000;
Query OK, 0 rows affected (0.01 sec)