查询缓存与分区

其他人一样,我们对 MySQL 中导致查询缓存分区无法可靠协同工作的错误的修复方案并不满意。简单来说,这个错误是:如果启用了查询缓存,并且使用了分区表,而且分区表使用了像 InnoDB 或 XtraDB 这样的事务性引擎,那么在某些情况下,查询缓存可能会返回不正确的结果。

返回不正确的结果是一个明确的、高优先级的错误。然而,上游的修复方法是禁用所有对分区表查询的缓存。我们想要一个更好的解决方案,因为查询缓存对于分区表来说可能非常有用和有益,就像它对于非分区表一样有用和有益。…