mysql 强制不走缓存_MySQL - 强制不使用缓存来测试查询速度

我正在测试MySQL中一些查询的速度。 数据库正在缓存这些查询,这使我在测试这些查询的速度时难以获得可靠的结果。

有没有办法禁用查询缓存?

系统:Linux上的MySQL 4虚拟主机,我可以访问PHPMyAdmin。

谢谢

#1楼

一个问题是

SELECT SQL_NO_CACHE * FROM TABLE

方法是它似乎只是阻止查询的结果被缓存。 但是,如果您要查询正在与要测试的查询一起使用的数据库,则其他客户端可能会缓存您的查询,从而影响您的结果。 我正在继续研究解决这个问题的方法,如果我找到一个,我会编辑这篇文章。

#2楼

尝试在查询中使用SQL_NO_CACHE (MySQL 5.7)选项。 (MySQL 5.6用户点击这里 )

例如。

SELECT SQL_NO_CACHE * FROM TABLE

这将阻止MySQL缓存结果,但请注意,其他操作系统和磁盘缓存也可能会影响性能。 这些更难绕行。

#3楼

您还可以运行follow命令来重置查询缓存。

RESET QUERY CACHE

#4楼

我使用以下内容:

SHOW VARIABLES LIKE 'query_cache_type';

SET SESSION query_cache_type = OFF;

SHOW VARIABLES LIKE 'query_cache_type';

#5楼

还有配置选项:query_cache_size = 0

要在服务器启动时禁用查询缓存,请将query_cache_size系统变量设置为0.通过禁用查询缓存代码,没有明显的开销。 如果从源代码构建MySQL,则可以通过使用--without-query-cache选项调用configure来完全从服务器中排除查询缓存功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值