2008-12-03 979 views

回答

9

我试图寻找这个,但我无法找到权威的答案。

  • 我看过手册,就像你一样。
  • 我在FLUSH TABLES上找到了MySQL Internals文档,但没有具体说明。
  • 我甚至读到mysql_server/sql/sql_base.cc的源代码,但无法很快找到答案。

我假设答案是那些开发人员觉得非常明显,以至于他们永远不需要说的东西之一。

根据内部文档,MySQL表缓存包含最近使用表的列表。没有提及数据库特定的表缓存,似乎MySQL服务器中只有一个表缓存。

FLUSH TABLES被描述为强制关闭所有打开的表格(表格缓存中的那些表格)。没有提到这仅限于一个数据库,但您可以在参数FLUSH TABLES中指定单个表。所以同样,我认为默认情况下这适用于整个表缓存,并因此适用于MySQL服务器上具有打开文件的所有数据库。

6

当你比如做只是一个的mysql_connect,然后在“显示表” - > mysql_error():没有数据库选择

与“FLUSH TABLES”没有mysql_error,所以我想答案是 每数据库