ホームページ  >  記事  >  データベース  >  table_cache 設定パラメータを使用して Mysql のパフォーマンスを最適化する方法

table_cache 設定パラメータを使用して Mysql のパフォーマンスを最適化する方法

伊谢尔伦
伊谢尔伦オリジナル
2017-05-30 14:44:231423ブラウズ

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

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