0

我试图了解是否有办法获取 mysql query_cache 未缓存的查询。我确实尝试查看在我的任何查询中是否有对“SQL_NOCACHE”的任何明确引用,但它们都没有返回该字符串。而且我仍然看到未缓存的查询持续增加。其中的百分比约为 5-10%,但我想看看我是否可以将它们缓存在 memcache 上,如果查询缓存不缓存它们。

那么有没有一种真正的方法来记录没有被缓存的查询?

4

1 回答 1

1

AFAIK 无法在程序中执行此操作,也无法从 jdbc 或类似程序中“自动”执行此操作。我也从未在任何日志中看到它。但是,如果您使用命令行查询数据库,您可以编写一个脚本,在查询之前和之后获取 Qcache_hits。如果它增加了使用缓存的查询,如果它相同它没有。

show status like 'Qcache_hits';
select * from table;
show status like 'Qcache_hits';
于 2012-01-13T20:40:06.290 回答