Jim*_*mix 3 session caching system-variable mysql-8.0
如何在 MySQL8 中禁用当前会话的缓存查询结果?
系统变量的文档有很多与缓存有关的变量,但其中大多数已被弃用,我找不到任何可用于禁用查询缓存的变量。
我有兴趣禁用禁用命令后的所有语句的缓存。有什么办法可以做到这一点吗?
小智 5
MySQL 8 中删除了查询缓存。
您可以尝试清除缓冲区,如下所述: how toclear/flush mysql innodb buffer pool?
但是,将会有操作系统级磁盘缓存,以及硬件(HDD/SDD)缓存。这与我目前个人测试的结果相比有两个数量级的差异。你所提议的可能是不可能的。
我建议使用 EXPLAIN 查询,并非常仔细地考虑使用了哪些索引,涉及了多少行,是否创建临时表,并且通常要考虑 MySQL 将要执行的执行策略。
一旦您确信已经解决了性能问题,请查看它在冷启动时的表现。