2013-04-08 28 views
0

我跑有很多数据库MySQL服务器上的数据库,所以MySQL的清除查询缓存为特定数据库或查询

RESET QUERY CACHE

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

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


更新:我想SELECT SQL_NO_CACHEset session query_cache_type=0但这些并没有什么差别......这让我觉得我运行到磁盘或操作系统缓存。

我真正想要做的是基准...你会觉得是,MySQL将提供一种方式......

回答

0

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

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

0

我们不能用SQL_NO_CACHE

例如:SELECT SQL_NO_CACHE ID,名字从客户;

+0

查看我的更新。我尝试过,但它没有什么区别......也许是磁盘或操作系统缓存的B/C。很难测试! – ktm5124 2013-04-08 18:16:13

+0

是的刚刚看到 – 2013-04-08 18:16:50

+0

在这里问你的问题http://dba.stackexchange.com – 2013-04-08 18:26:35