MySQL清除特定数据库或查询的查询缓存
我在MySQL服务器上运行一个数据库,它有几十个数据库,所以MySQL清除特定数据库或查询的查询缓存,mysql,sql,Mysql,Sql,我在MySQL服务器上运行一个数据库,它有几十个数据库,所以 重置查询缓存 不可能,因为我将为所有其他数据库重置它 我很好奇是否可以为一个数据库或一个查询重置查询缓存?或者可以编写一个不使用查询缓存的SELECT语句吗 更新:我尝试了选择SQL\u NO\u CACHE和设置会话查询\u CACHE\u type=0,但这些都没有任何区别。。。这让我觉得我正在运行磁盘或操作系统缓存 我真正想做的就是基准测试。。。您可能认为MySQL会提供一种方式…不幸的是,对于单个套接字,所有数据库都将共享相
重置查询缓存
不可能,因为我将为所有其他数据库重置它
我很好奇是否可以为一个数据库或一个查询重置查询缓存?或者可以编写一个不使用查询缓存的SELECT
语句吗
更新:我尝试了
选择SQL\u NO\u CACHE
和设置会话查询\u CACHE\u type=0
,但这些都没有任何区别。。。这让我觉得我正在运行磁盘或操作系统缓存
我真正想做的就是基准测试。。。您可能认为MySQL会提供一种方式…不幸的是,对于单个套接字,所有数据库都将共享相同的my.cnf参数。您可以在不同的套接字上绑定MYSQL并运行不同的MYSQL实例,然后可以启用或禁用查询缓存
但还有另一种解决方案,您可以使用memcached并将查询存储在那里,以便在需要时可以从那里访问,从而禁用查询缓存。我理解查询缓存会导致争用。我们不能使用SQL\u NO\u缓存吗
示例:选择SQL\u NO\u缓存id,客户名称 查看我的更新。我试过了,但没什么区别。。。可能是磁盘或操作系统缓存的b/c。难以衡量!