我在 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)