【发布时间】:2014-12-06 18:17:46
【问题描述】:
我在一个 innodb 数据库 (MySQL) 中有 81 个表。 它们中的数据在磁盘上达到 2GB。 我的查询很少一次将超过 3 个表连接在一起。我的 innodb_buffer_pool 大小约为 2.1 GB。
运行 mysqltuner.pl 我得到以下信息!!
[!!] 表缓存命中率:7%(274 打开/3K 打开)
从 mysqlreport 我看到我确实打开了 274 个,打开了 3K 个并且我的打开上限是 400。
但是,这样做
show status like '%open%'
得到这个结果
...
Open_table_definitions 161
Open_tables 274
Opened_files 150232
Opened_table_definitions 0
Opened_tables 0
两个问题:
1) “打开的表”不应该在上述显示状态(如“%open%”)的结果中显示 3K 而不是零吗?
2)关于我需要做什么来解决这个问题的任何建议!即低表缓存命中率?
谢谢
PS。如果有帮助,第二个!我在 mysqltuner.pl 中是这样的:
[!!] 在磁盘上创建的临时表:29%(磁盘上 35K / 总共 119K)
【问题讨论】:
标签: mysql mysqltuner