この記事では、MySQLパフォーマンス最適化のtable_cache設定パラメータを主に紹介します。この記事では、そのcacheメカニズム、パラメータの最適化、キャッシュクリアコマンドなどを紹介します。必要な友人は、
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 管理百科事典では非常に保守的な設定の提案が示されています:
MySQL データベース を本番環境に置いて試用します一定の時間が経過した後、パラメーター値を Opened_tables の値より大きくなるように調整し、比較的高負荷の極端な条件下でも Opened_tables よりわずかに大きい値であることを確認します。
mysql > flush tables;コマンドを実行すると、現在キャッシュされているテーブルがすべてクリアされます。
以上がmysql の table_cache 設定パラメータの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。