我有2个运行MYSQL 5.6的VPS作为数据库服务器,并且都通过以下设置启用了缓存
have_query_cache = YES
query_cache_type = ON
query_cache_size = 16777216
query_cache_limit = 1048576
query_cache_min_res_unit = 4096
query_cache_wlock_invalidate = OFF
通常,高速缓存在两台服务器上均有效,但有趣的是,有一个查询在其中一台服务器上缓存,但不能在第二台服务器上。
需要了解配置中缺少的内容。
答案 0 :(得分:1)
此类问题可能有不同的原因,例如不同的操作系统,MYSQL版本或单个查询本身。
我只是中断查询并取一小部分并运行查询,并使用 SHOW STATUS LIKE'Qcache%'来同时检查高速缓存命中; 我意识到我正在将数字与字符串进行比较IF语句,不允许将查询放入缓存。 IF('2,000.00'= 0,1,2)不允许缓存查询。