干货:
Table_open_cache规定了内存中允许打开表的数量,当MySQL在处理查询请求时table_open_cache将会起到较大作用,有效设置并使用此参数可以降低热点表的频繁开关动作,从而改善性能。
table_definition_cache定义了内存中可打开的表结构数量。
比较适合的值:
Open_tables / Opened_tables >= 0.85
Open_tables / table_open_cache <= 0.95
如果对此参数的把握不是很准,有个很保守的设置建议:把MySQL数据库放在生产环境中试运行一段时间,然后把参数的值调整得比Opened_tables的数值大一些,并且保证在比较高负载的极端条件下依然比Opened_tables略大。
参考自:
https://cloud.tencent.com/developer/news/239634
https://www.cnblogs.com/fjping0606/p/6531292.html
https://forums.mysql.com/read.php?24,626252,626292
https://www.jianshu.com/p/9f3002209e74