ホームページ >データベース >mysql チュートリアル >table_cache 設定パラメータを使用して Mysql のパフォーマンスを最適化する方法
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このパラメーターについてあまり正確でない場合、VPS Management Encyclopedia では非常に保守的な設定の提案が示されています。試用期間として MySQL データベースを運用環境に置き、一定期間試行します。次に、パラメータ値を Opened_tables の値よりも大きくなるように調整し、比較的負荷の高い極端な条件下でも Opened_tables よりわずかに大きくなるようにします。
キャッシュのクリア
mysql > flush tables;コマンドを実行すると、現在キャッシュされているテーブルがすべてクリアされます。
以上がtable_cache 設定パラメータを使用して Mysql のパフォーマンスを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。