MySQL 8 禁用当前会话的查询缓存

MySQL 8 Disable Query Cache for current session

如何在 MySQL8 中禁用当前会话的缓存查询结果?

系统变量的 Documentation 有很多与缓存有关的变量,但其中大部分都已贬值,我找不到任何可用于禁用查询缓存的变量。
我很感兴趣在禁用命令后禁用所有语句的缓存。有什么办法吗?

查询缓存已在 MySQL 8.

中删除

您可以尝试清除缓冲区,如下所述: how to clear/flush mysql innodb buffer pool?

不过,会有OS级磁盘缓存,还有硬件(HDD/SDD)缓存。这与我目前亲自测试的内容相比有 2 个数量级的差异。您提出的建议可能无法实现。

我建议使用 EXPLAIN 查询并非常仔细地考虑使用了哪些索引、接触了多少行、是否正在创建临时表,并且通常要仔细考虑执行策略 MySQL不执行。

一旦您认为已经解决了性能问题,请查看它在冷启动时的表现。