MySQL清除特定数据库或查询的查询缓存

时间:2013-04-08 17:47:29

标签: mysql sql

我在拥有数十个数据库的MySQL服务器上运行数据库,所以

RESET QUERY CACHE

是不可能的,因为我会为所有其他数据库重置它。

我很好奇是否可以只为一个数据库或一个查询重置查询缓存?或者是否可以编写不使用查询缓存的SELECT语句?


更新:我尝试SELECT SQL_NO_CACHEset session query_cache_type=0,但这些没有任何区别......这让我觉得我遇到了磁盘或操作系统缓存。

我真正想做的就是基准......你会认为MySQL会提供一种方式......

2 个答案:

答案 0 :(得分:0)

不幸的是,对于单个套接字,所有数据库都将共享相同的my.cnf参数。您可以在不同的套接字上绑定MYSQL并运行不同的mysql实例,然后可以启用或禁用查询缓存。

但还有另一种解决方案,您可以在那里使用memcached和store查询,以便在需要时可以从那里进行访问,以便您可以禁用查询缓存。我理解查询缓存可能会导致争用。

答案 1 :(得分:0)

我们不能使用SQL_NO_CACHE

示例:SELECT SQL_NO_CACHE id,name FROM customer;