MySQL クエリ キャッシュを設定する目的は次のとおりです。クエリ結果をキャッシュしておくと、次回同じクエリを実行するときに結果セットから直接取得できます。これにより、再度検索するよりもはるかに高速になります。 クエリ キャッシュの最終結果は、逆効果になることです。クエリ キャッシュによってパフォーマンスが向上しない客観的な理由は 2 つあります。 1. SQL文のハッシュ値をキーとして使用し、SQL文の結果セットを値として使用します。これにより、select user from mysql.userやSELECT user FROM mysql.userなどの問題が発生します。 これら 2 つは異なる SQL 文として扱われます。このとき、結果セットがすでに存在していても使用されません。 2. クエリの基になる下位テーブルが変更されると、このテーブルに関連するクエリ キャッシュが無効になります。システムの同時実行性が高い場合、このオーバーヘッドはかなり大きくなります。結果セットを無効にする操作にも同時実行性が必要です。 アクセス制御にはロックも必要になります。同時実行数が多い場合、クエリ キャッシュ ロックの待機が発生します。 3. 使用するかどうかはビジネスモデルによって異なります。 クエリ キャッシュを構成する方法:query_cache_type システム変数は、クエリ キャッシュ機能を有効にするか無効にするかを制御します。 query_cache_type=0 の場合は閉じていることを意味し、1 の場合は開いていることを意味し、2 の場合は選択で SQL_CACHE が明示的に指定された場合にのみキャッシュされることを意味します。 このパラメータの設定は少し奇妙です。1. クエリキャッシュが事前に閉じられているが、@@global.query_cache_type=1; と設定されている場合、エラーが報告されます。 エラー 1651 (HY000): クエリ キャッシュが無効になっています。有効にするには、query_cache_type=1 でサーバーを再起動してください。 2. 以前に開かれていて、それを閉じようとすると、閉じ方が不完全となり、クエリは引き続きキャッシュを見つけようとします。 クエリ キャッシュをオフにする最善の方法は、my.cnf で query_cache_type=0 を設定し、mysql を再起動することです。 クエリ キャッシュ関連のシステム変数:have_query_cache は、この MySQL バージョンがクエリ キャッシュをサポートしているかどうかを示します。 query_cache_limit は、単一の結果セットをキャッシュできる最大値を示します。 query_cache_min_res_unit キャッシュされた各結果セットが占有する最小メモリ。 query_cache_size クエリ キャッシュに使用されるメモリ サイズ。 クエリ キャッシュ ヒット率を監視する方法:Qcache_free_memory クエリ キャッシュの現在の残りスペース サイズ。 Qcache_hits クエリ キャッシュ ヒットの数。 Qcache_inserts クエリ キャッシュ挿入の数。 つまり、キャッシュヒット率はQcache_hits/(Qcache_hits+Qcache_inserts)です。 一般的には、これを単独で設定することはできません。組み合わせる必要があります。以下の記事を読むことをお勧めします 以下もご興味があるかもしれません:
|
<<: Tomcat プロセスの CPU 使用率が高い場合の解決策
1. MySQLがインストールされているかどうかを確認します。次のコードで確認できます。 [root...
成熟したデータベース アーキテクチャは、最初から高可用性、高スケーラビリティなどの機能を備えて設計さ...
CEP - 複合イベント処理。ご注文後、一定期間内にお支払いの確認が取れませんでした。タクシーの配...
目次概要型アサーション構文ではインスタンスオブ構文typeof構文要約する概要TypeScript ...
序文:データベースを日常的に使用すると、パスワードが単純すぎて変更する必要がある場合、パスワードの有...
この機能を実装するにあたり、本家ブロガーさんから拝借した方法では色の切り替えが実現できず、長い間考え...
目次序文1. es6の前にオブジェクトを作成する2. es6 後のクラス宣言3. クラスの継承4. ...
Docker は非常に人気のあるコンテナ技術です。K8S によって廃止され、別のコンテナ技術である ...
mysql が閉じない場合の解決策:コンピュータのタスクバーを右クリックしてタスクマネージャーを開き...
1. IEブラウザを使用してVPNにログインする 2. リモートログイン 3. サーバーに最新のn...
序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...
目次ステップ1: フレームワークを構築するステップ2 構築されたPromiseフレームワークに入力す...
この記事では、グラフィック認証コードログインを実装するためのVueの具体的なコードを参考までに紹介し...
クエリ速度が遅くなる理由は多数ありますが、最も一般的な理由は次のとおりです。 1. インデックスがな...
HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...