每次MySQL访问表,如果这个表在cache中,那MySQL就直接在cache中访问。因为,在内存中访问比在磁盘上访问更快,同时也减少了I/O。 使用show status 检查 open_tables的是值,来确定是否需要调整table_cache。 如果,open_tables 和 table_cache的值一样,opened_tables 持续增涨。假设我们有足够的内存,应该增加table_cache. 例: 1 这是一个不是特别繁忙的实时数据库上: table_cache - 512 open_tables - 103 opened_tables - 1723 uptime - 4021421 (measured in seconds) 例: 2  这是一个开发所用的数据库: table_cache - 64 open_tables - 64 opened_tables - 431 uptime - 1662790 (measured in seconds) 例: 3  这是一个性能不佳的实时数据库: table_cache - 64 open_tables - 64 opened_tables - 22423 uptime - 19538 注:不要盲目的将table_cache 值设置太高。table_cache应该保持在一个适当的值。假如,设置太高,可能会耗尽文件描述符,导致性能不稳定或者拒绝连接