Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session MySQL 8为当前会话禁用查询缓存_Session_Caching_Mysql 8.0_System Variable - Fatal编程技术网

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

Session MySQL 8为当前会话禁用查询缓存,session,caching,mysql-8.0,system-variable,Session,Caching,Mysql 8.0,System Variable,如何在MySQL8中禁用当前会话的缓存查询结果 of系统变量有很多与缓存有关的变量,但大多数都已折旧,我找不到任何用于禁用查询缓存的变量。我感兴趣的是禁用disable命令后所有语句的缓存。有什么方法可以做到这一点吗?在MySQL 8中删除了查询缓存 您可以尝试清除缓冲区,如下所述: 但是,将有操作系统级磁盘缓存,也有硬件(HDD/SDD)缓存。这对我目前正在进行的个人测试造成了2个数量级的差异。你的建议可能是不可能的 我建议使用EXPLAIN查询,并非常仔细地考虑使用了哪些索引、涉及了多少行

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


of系统变量有很多与缓存有关的变量,但大多数都已折旧,我找不到任何用于禁用查询缓存的变量。
我感兴趣的是禁用disable命令后所有语句的缓存。有什么方法可以做到这一点吗?

在MySQL 8中删除了查询缓存

您可以尝试清除缓冲区,如下所述:

但是,将有操作系统级磁盘缓存,也有硬件(HDD/SDD)缓存。这对我目前正在进行的个人测试造成了2个数量级的差异。你的建议可能是不可能的

我建议使用EXPLAIN查询,并非常仔细地考虑使用了哪些索引、涉及了多少行、是否创建了临时表,以及MySQL将要执行的执行策略


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

MySQL 8中删除了查询缓存

您可以尝试清除缓冲区,如下所述:

但是,将有操作系统级磁盘缓存,也有硬件(HDD/SDD)缓存。这对我目前正在进行的个人测试造成了2个数量级的差异。你的建议可能是不可能的

我建议使用EXPLAIN查询,并非常仔细地考虑使用了哪些索引、涉及了多少行、是否创建了临时表,以及MySQL将要执行的执行策略


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

是的,我可能要做的是在docker容器中准备一个单独的DB实例,在查询它之前,我将重新启动它。这是一个大麻烦的解决办法,但似乎是唯一可以摆脱缓冲的解决方案。很好,您指出了文件系统缓冲,我将记住这一点。MySQL 8.0不支持查询缓存,将鼓励用户升级使用服务器端查询重写或ProxySQL作为中间人缓存。是的,可能我要做的是在docker容器中准备一个单独的DB实例,在查询它之前我将重新启动它。这是一个大麻烦的解决办法,但似乎是唯一可以摆脱缓冲的解决方案。很好,您指出了文件系统缓冲,我将记住这一点。MySQL 8.0不支持查询缓存,将鼓励用户升级使用服务器端查询重写或ProxySQL作为中间人缓存。