声明:在5.1.3之后的版本中改叫做table_open_cache。table_cache主要用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与
max_connections
有关。
缓存机制:
缓存机制:
当某一连接访问一个表时,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博客 ” ,链接:http://blog.itpub.net/29754888/viewspace-1648153/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29754888/viewspace-1648153/