是否MySQL命令:MySQL刷新表 - 当前数据库或每个数据库?
FLUSH TABLES;
冲洗每个表在当前数据库或服务器上的每个表?
我使用的MySQL 5.0 - 在documentation目前还不清楚,但它确实提到:
FLUSH TABLES WITH READ LOCK;
将所有数据库操作。
谢谢。
是否MySQL命令:MySQL刷新表 - 当前数据库或每个数据库?
FLUSH TABLES;
冲洗每个表在当前数据库或服务器上的每个表?
我使用的MySQL 5.0 - 在documentation目前还不清楚,但它确实提到:
FLUSH TABLES WITH READ LOCK;
将所有数据库操作。
谢谢。
这是所有的数据库。
我试图寻找这个,但我无法找到权威的答案。
FLUSH TABLES
上找到了MySQL Internals文档,但没有具体说明。mysql_server/sql/sql_base.cc
的源代码,但无法很快找到答案。我假设答案是那些开发人员觉得非常明显,以至于他们永远不需要说的东西之一。
根据内部文档,MySQL表缓存包含最近使用表的列表。没有提及数据库特定的表缓存,似乎MySQL服务器中只有一个表缓存。
FLUSH TABLES
被描述为强制关闭所有打开的表格(表格缓存中的那些表格)。没有提到这仅限于一个数据库,但您可以在参数FLUSH TABLES
中指定单个表。所以同样,我认为默认情况下这适用于整个表缓存,并因此适用于MySQL服务器上具有打开文件的所有数据库。
当你比如做只是一个的mysql_connect,然后在“显示表” - > mysql_error():没有数据库选择
与“FLUSH TABLES”没有mysql_error,所以我想答案是 每数据库
需要引用。你怎么知道的? – Oddthinking 2008-12-04 22:58:36