为什么Mysql状态中打开的表超过我系统中所有的表加起来的总和

为什么Mysql状态中打开的表超过我系统中所有的表加起来的总和

 来源: http://www.imysql.cn/blog/3208 & http://www.imysql.cn/
作者:吴炳锡

如:

Threads: 1  Questions: 1044  Slow queries: 4  Opens: 49  Flush tables: 1  Open tables: 44  Queries per second avg: 0.004

而实际表加起来有可能不到20个表。

MySQL为什么打开那么多表呢?

原因: 

Mysql是以单进程,多线程的工作方式提供服务,为了更快速的对外服务,同本着也是本着以空间换时间,每个线程独立打开文件扫述,从而减少两个线程在同一个表上不的状态。文件索引在线程间是共享的。

技术相关:

评论

有些句子读起来不顺。我怀疑我理解的意思是否正是你要表达的意思。

table_cache的问题