首页 > 数据库 > MySQL > mysql性能优化之table_cache
当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。
在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。
命令:


open_tables 为当前的缓存表数量。
opened_tables 为历史缓存的数量总数。
执行flush tables后,会清空缓存,open_tables会清0。
调优:
当open_tables的数量接近table_open_cache数量时,并且opened_tables的数量在不断增加,此时就应该调整增加table_open_cache参数。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29754888/viewspace-1648153/ ,如需转载,请注明出处,否则将追究法律责任。