ホームページ  >  記事  >  データベース  >  mysql の table_cache 設定パラメータの説明

mysql の table_cache 設定パラメータの説明

伊谢尔伦
伊谢尔伦オリジナル
2017-06-28 14:10:191485ブラウズ

この記事では、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。