为什么 MySQLTuner 显示query_cache_size (=0)
?
在 my.cnf 中,我有
query_cache_type = 1
查询缓存大小 = 16M
查询缓存限制 = 2M
MySQLTuner 的报告显示了这一点
[!!] 由于互斥争用,查询缓存可能默认被禁用。
[OK] 查询缓存效率:48.5%(2M 缓存/5M 选择)
[!!] 每天查询缓存修剪次数:28824
[OK] 需要临时表的排序:0% (23 个临时排序/9K 排序)
[OK] 没有索引就没有连接
[!!] 磁盘上创建的临时表:69%(磁盘上 10K/总共 15K)
虽然 MySQLTuner 的建议显示
查询缓存大小 (=0)
查询缓存类型 (=0)
查询缓存大小 (> 16M)
由于建议显示“(=0)”且报告显示每天的查询缓存修剪量很高,我的 query_cache_size 是否不起作用?
这是因为“由于互斥争用,查询缓存可能默认被禁用。”吗?
MySQL 已运行 48 小时。
答案1
版本 8 将不提供查询缓存,他们建议避免使用这种性能不佳或成本昂贵的查询。
对 my.cnf-ini [mysqld] 部分的建议
query_cache_type=0 # for OFF
query_cache_size=0 # to ensure QC is NOT USED
不使用 QC 会降低一定程度的 CPU 利用率。