在运行时更改查询caching大小时,我们获得了大量的磁盘读取。 如何解释这种现象?

在运行时,我们发出了查询caching大小更改。 我们大大减less了它。

这个过程运行约4分钟。

在这段时间我们看到增加的磁盘读取大约18MB / s。

我们无法解释为什么这个改变需要磁盘读取,为什么这么多? 正如我们所期望的那样,它将从RAM中修剪caching,而不是别的。 无论如何,我们并不期望在这个大小的磁盘读取。

你怎么解释?

因为改变大小会刷新整个caching,这意味着MySQL需要运行大量的查询,否则这些查询将会在caching中。 几分钟之后,caching已经足够热,磁盘读取再次下降。