php – 记录缓存的查询和不缓存的查询

我在我的项目中使用
PHP和MySQL 5.6,我想测试和记录哪些查询被缓存,哪些不是.

我知道如果同一个查询一次又一次地重复发送到DB,它会从缓存中检索结果,而不是从DB中获取.现在,这就是我要检查的原因,因为我想优化我的查询.

现在我如何记录这个?有什么办法吗?

提前致谢.

最佳答案 假设你最感兴趣的是哪些查询没有被缓存,哪些是真正放慢速度的.您可能希望利用MySQL慢查询日志来发现它们并使用EXPLAIN来单独优化每个查询日志.

https://dev.mysql.com/doc/refman/5.6/en/slow-query-log.html

然而,这个答案是“这些不是你正在寻找的机器人”绝地技巧:它并没有直接回答你的问题,而是让你走上正轨.据我所知,MySQL查询缓存与大多数缓存层一样,通过基于哈希的密钥存储结果,使得直接查询 – 哈希关联相当痛苦:How to list cached queries in MySQL? (Qcache_queries_in_cache)

点赞