So if SQL Server has it's own cache, what is the benefit of an external Memcached (or similar) server?
如果你的应用对数据库的更新很少,那么QC将会作用显著。比较典型的如博客系统,一般博客更新相对较慢,数据表相对稳定不变,这时候QC的作用会比较明显。如果数据库一共往QC中写入了约800W次缓存,但是实际命中的只有约500W次。也就是说,每一个缓存的使用率约为0.66次。很难说,该缓存的作用是否大于QC系统所带来的开销。但是有一点是很肯定的,QC缓存的作用是很微小的,如果应用层能够实现缓存,将可以忽略QC的效果。
查看命中率的方式
show global status like '%Qcache%';
https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/
MySQL 从5.6开始默认禁用query cache, 8.0彻底移除了,文章有分析不使用cache的原因。