0

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

RESET QUERY CACHE

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

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


更新:我试过了SELECT SQL_NO_CACHEset session query_cache_type=0但这些没有任何区别......这让我觉得我正在运行磁盘或操作系统缓存。

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

4

2 回答 2

0

我们不能使用 SQL_NO_CACHE

示例:SELECT SQL_NO_CACHE id,name FROM customer;

于 2013-04-08T18:03:38.513 回答
0

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

但是还有另一种解决方案,您可以使用 memcached 并将查询存储在那里,以便您可以在需要时从那里访问,以便您可以禁用查询缓存。我了解查询缓存会导致争用。

于 2013-04-08T18:00:47.360 回答