table_cache は非常に重要な MySQL パフォーマンス パラメータであり、5.1.3 以降のバージョンでは table_open_cache と呼ばれます。 table_cache は主にテーブル キャッシュの数を設定するために使用されます。各クライアント接続は少なくとも 1 つのテーブルにアクセスするため、このパラメータの値は max_connections に関連します。
キャッシュメカニズム
接続がテーブルにアクセスすると、MySQL は現在キャッシュされているテーブルの数をチェックします。テーブルがキャッシュ内ですでに開いている場合は、クエリを高速化するためにキャッシュ内のテーブルに直接アクセスします。テーブルがキャッシュされていない場合は、現在のテーブルがキャッシュに追加されてクエリが実行されます。
キャッシュ操作を実行する前に、table_cache を使用してキャッシュされるテーブルの最大数を制限します。現在キャッシュされているテーブルが table_cache に達していない場合、この値に達している場合は新しいテーブルが追加されます。最後のクエリ時間、クエリ レート、およびその他のルールにより、以前のキャッシュが解放されます。
パラメータチューニング
一般的に、図に示すように、phpmyadmin で Open_tables と Opened_tables の値を確認するか、
mysql> show global status like 'open%_tables';
を実行して現在の open_tables の状況を確認できます。
これら 2 つのパラメータの値を確認します。このうち、Open_tables は現在オープンされているテーブルの数、Opened_tables はオープンされているすべてのテーブルの数です。
Open_tables の値が table_cache の値に近く、Opened_tables が増加し続ける場合、それは、mysql が新しいテーブルに対応するためにキャッシュされたテーブルを解放していることを意味し、この時点で table_cache の値を増やす必要がある可能性があります。ほとんどの状況では、より適切な値:Open_tables / Opened_tables >= 0.85 Open_tables / table_cache <= 0.95
キャッシュのクリア
mysql > flush tables;
以上がtable_cache 設定パラメータを使用して Mysql のパフォーマンスを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。