gpt4 book ai didi

sql - 低 MySQL 表缓存命中率

转载 作者:可可西里 更新时间:2023-11-01 06:42:24 27 4
gpt4 key购买 nike

我一直在努力优化我的站点和数据库,并且我一直在使用 mysqltuner.pl 来帮助解决这个问题。除了表缓存命中率,无论我在 my.cnf 中将它提高多高,我几乎都得到了正确的结果,我仍然命中大约 0%(284 打开/79k 打开)。

我的问题是我并不真正理解到底是什么影响了这个,所以我真的不知道要在我的查询/数据库结构中寻找什么来解决这个问题。

最佳答案

table cache定义 MySQL 已打开的同时文件描述符的数量。因此,表缓存命中率将受到相对于限制的表数量以及重新引用表的频率的影响(请记住,它不仅计算单个连接,还计算同时连接)

例如,如果您的限制是 100,并且您有 101 个表并且您按顺序查询每个表,您将永远不会获得任何表缓存命中。另一方面,如果您只有一个表,您通常应该获得接近 100% 的命中率,除非您经常运行 FLUSH TABLES(只要您的 table_cache 设置高于通常同时连接的数量)。

因此,为了进行调优,您需要查看一个进程/客户端可能引用多少个不同的表,然后查看您通常可能同时拥有多少个连接。

没有更多细节,我无法猜测你的情况是由于同时连接过多还是由于频繁引用的表过多。

关于sql - 低 MySQL 表缓存命中率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1961766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com