mysql データベース クエリ キャッシュの原理は次のとおりです: 1. SELECT 操作の結果セットと SQL ステートメントをキャッシュします (キーは SQL、値はクエリ結果セットです); 2. 新しい SELECT ステートメントの場合到着したら、この SQL をキーとして使用し、キャッシュ内でクエリを実行し、一致するものがあれば、キャッシュされた結果セットを返します。
Mysql データベース クエリ キャッシュの原則は次のとおりです:
概要
クエリ キャッシュ (略して QC) は、SELECT ステートメントとそれによって生成されたデータ結果を保存します。何もすることがないので、この話題をまとめてメモしておきたいと思います!
超詳細な mysql データベース クエリ キャッシュの概要、収集する価値あり
動作原理
実行
「%query_cache%」のような変数を表示;
関連するパラメータを確認できます:
##「%Qcache%%」などのステータスを表示;
関連するパラメータを確認できます:
Qcache_hits: キャッシュ ヒット数;クエリ キャッシュを有効にする
注: query_cache_size の値は 100MB 以内で設定できます。 MySQL では、クエリ キャッシュはグローバル ロックによって制御されており、クエリ キャッシュのメモリ ブロックが更新されるたびにロックする必要があります。
クエリ キャッシュをオフにする
オプション query_cache_type = 0 を設定し、query_cache_size = 0 を設定します。該当するシナリオ
同じステートメントが頻繁に送信され、テーブル データがあまり頻繁に変更されないシナリオ (一部の静的ページや特定のブロックなど) に使用されます。ページの情報は頻繁に変更されません。クエリ キャッシュは最新のデータ結果をキャッシュする必要があるため、テーブル データに変更が加えられると (挿入、更新、削除、またはデータ変更を引き起こす可能性のあるその他の操作)、クエリ キャッシュが更新されます。したがって、更新頻度が非常に低く、読み取り専用クエリの頻度が非常に高いシナリオでは、クエリ キャッシュをオンにする方が有利です。
該当しないシナリオ
クエリ キャッシュでは、SQL ステートメント、接続されたデータベース、プロトコル バージョン、文字セット、文字セットなど、2 つの SQL リクエストがまったく同じであることが厳密に要求されます。他の要因もすべて影響します。クエリ キャッシュが適用できないいくつかのシナリオを次に示します:サブクエリ;
クエリには、mysql、information_schema、または Performance_schema が含まれます。
SELECT...LOCK IN SHARE MODE、SELECT...FOR UPDATE、SELECT..INTO OUTFILE/DUMPFILE、SELECT * FROM... WHERE autoincrement_col IS NULL; に類似したクエリ
SELECT 実行プランは一時テーブルを使用します;
#その他の関連する無料学習の推奨事項:mysql チュートリアル(ビデオ)
以上がmysqlデータベースクエリキャッシュの原理は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。