MySQL命令是否:
FLUSH TABLES;
刷新当前数据库中的每个表,还是服务器上的每个表?
我正在使用MySQL 5.0 - 文档不清楚,虽然它确实提到:
FLUSH TABLES WITH READ LOCK;
将对所有数据库执行此操作.
谢谢.
这是所有数据库.
我试着看一下,但我也找不到权威的答案.
我像你一样查看了手册.
我发现了MySQL Internals文档FLUSH TABLES
,但没有具体说明.
我甚至阅读了源代码mysql_server/sql/sql_base.cc
但很快找不到答案.
我认为答案是开发人员认为非常明显的事情之一,他们永远不需要说出来.
根据内部文档,MySQL表缓存包含最近使用的表的列表.没有提到特定于数据库的表缓存,MySQL服务器中似乎只有一个表缓存.
FLUSH TABLES
被描述为强制关闭所有打开的表(表缓存中的表).没有提到这仅限于一个数据库,但您可以在参数中指定单个表FLUSH TABLES
.同样,我认为这默认适用于整个表缓存,因此适用于MySQL服务器上具有打开文件的所有数据库.
当你只做一个mysql_connect,然后"show tables"例如 - > mysql_error():没有选择数据库
与"刷新表"没有mysql_error,所以我认为答案是每个数据库