innodb データベース (MySQL) に 81 個のテーブルがあります。それらのデータは、ディスク上で 2GB になります。私のクエリは、一度に 3 つ以上のテーブルを結合することはめったにありません。私の innodb_buffer_pool サイズは約 2.1 GB です。
mysqltuner.pl を実行すると、次のようになります !!
[!!] テーブルキャッシュヒット率: 7% (274 open / 3K open)
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
2 つの質問:
1) '%open%' のようなステータス表示から、上記の結果で「開いているテーブル」がゼロではなく 3K と表示されるべきではありませんか?
2)これを改善するために何をする必要があるかについてのアドバイス!! つまり、テーブル キャッシュのヒット率が低いのでしょうか。
ありがとう
PS。お役に立てば第二弾!! 私は mysqltuner.pl にこれがあります:
[!!] ディスク上に作成された一時テーブル: 29% (ディスク上に 35K / 合計 119K)