加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql必读MySQL性能优化之table_cache配置参数浅析

发布时间:2020-12-12 01:11:49 所属栏目:MySql教程 来源:网络整理
导读:《Mysql必读MySQL性能优化之table_cache配置参数浅析》要点: 本文介绍了Mysql必读MySQL性能优化之table_cache配置参数浅析,希望对您有用。如果有疑问,可以联系我们。 table_cache是一个非常重要的MySQL性能参数,它在5.1.3之后的版本中叫做table_open_cach

《Mysql必读MySQL性能优化之table_cache配置参数浅析》要点:
本文介绍了Mysql必读MySQL性能优化之table_cache配置参数浅析,希望对您有用。如果有疑问,可以联系我们。

table_cache是一个非常重要的MySQL性能参数,它在5.1.3之后的版本中叫做table_open_cache.table_cache主要用于设置table高速缓存的数量.由于每个客户端连接都会至少访问一个表,因此此参数的值与max_connections有关.MYSQL数据库

缓存机制MYSQL数据库

当某一连接访问一个表时,MySQL会检查当前已缓存表的数量.如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询.MYSQL数据库

在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存.MYSQL数据库

参数调优MYSQL数据库

一般来说,可以在phpmyadmin中查看Open_tables与Opened_tables的值,也可以执行MYSQL数据库

代码如下: mysql> show global status like 'open%_tables';

查看当前的open_tables情况,如图:MYSQL数据库

MYSQL数据库

来查看这两个参数的值.其中Open_tables是当前正在打开表的数量,Opened_tables是所有已经打开表的数量.MYSQL数据库

如果Open_tables的值已经接近table_cache的值,且Opened_tables还在不断变大,则说明mysql正在将缓存的表释放以容纳新的表,此时可能需要加大table_cache的值.对于大多数情况,MYSQL数据库

比较适合的值:
MYSQL数据库

代码如下:
Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95

如果对此参数的把握不是很准,VPS管理百科给出一个很保守的设置建议:把MySQL数据库放在生产环境中试运行一段时间,然后把参数的值调整得比Opened_tables的数值大一些,并且保证在比较高负载的极端条件下依然比Opened_tables略大.

清空缓存MYSQL数据库

执行
MYSQL数据库

代码如下: mysql > flush tables;
命令将会清空当前所有缓存的表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读