【发布时间】:2013-01-03 11:58:38
【问题描述】:
来自manual 它说FLUSH TABLES:
关闭所有打开的表,强制关闭所有正在使用的表,并且 刷新查询缓存。 FLUSH TABLES 还会删除所有查询结果 来自查询缓存,如 RESET QUERY CACHE 语句。
从上面我不太明白,在运行包含多个查询的 PHP 脚本时执行 FLUSH TABLES 的含义是什么。假设我在表 A 上有一个 UPDATE 查询,然后是表 B 上的 INSERT 查询,然后是事务页面上的 mail() 和 header(),当执行 FLUSH TABLES 时,INSERT 查询是否会被删除? MySQL 正在运行 UPDATE 查询?
【问题讨论】:
-
几乎没有使用刷新表的实际理由。但我认为它不应该干扰现有事务,并且只在获得锁定时运行。不过测试起来很容易。
-
@datasage,在备份之前是否需要刷新所有带读锁的表?