関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰もが知っています。クエリ キャッシュについて学習した後、実際の操作の次のステップに直接進む友人もいます。ここで編集者は、操作を開始する前にパラメータを設定する必要があることを全員に思い出させたいと思います。そうしないと、問題が発生します。 MySQL クエリ キャッシュの手順とキャッシュ無効化の分析を詳しく見てみましょう。 1. 構成パラメータ(1) have_query_cacheはクエリキャッシュがサポートされているかどうかを示します。YESはサポートを示します (2)query_cache_typeはキャッシュタイプを示します。OFFはクエリキャッシュをオフにすることを意味し、ONはクエリキャッシュをオンにすることを意味し、DEMANDはユーザー定義のクエリキャッシュを意味します。 (3)query_cache_limitは、単一のクエリSQL文でサポートされるデータの最大量を示します。 (4)query_cache_min_res_unitはクエリキャッシュの最小単位を示す (5)query_cache_sizeはクエリキャッシュスペースのサイズを示す (6) query_cache_wlock_invalidateは、クエリキャッシュが書き込みロックをサポートしているかどうかを示します。OFFはサポートしていないことを意味し、データの読み取りでは書き込みロックは考慮されません。ONはサポートしていることを意味し、データの読み取りは書き込みロックによってブロックされます。 MySQL のクエリ キャッシュはデフォルトで無効になっています。クエリ キャッシュを有効にするには、パラメータ クエリ キャッシュ タイプを手動で構成する必要があります。クエリ キャッシュ タイプ パラメータには、次の 3 つの値を指定できます。 1) OFF または 0: クエリ キャッシュ機能は無効です。 2) ON または 1: クエリ キャッシュ機能がオンになります。SELECT 結果は、キャッシュ条件を満たす場合にキャッシュされます。それ以外の場合はキャッシュされません。SQL_NO_CACHE が指定されている場合は、キャッシュされません。 3) DEMAND または 2: クエリ キャッシュ機能は要求に応じて実行されます。SQL_CACHE を明示的に指定する SELECT ステートメントのみがキャッシュされ、その他はキャッシュされません。 /usr/my.cnf 設定に次の設定を追加します。 2. MySQLクエリキャッシュを有効にするクエリキャッシュタイプ=1 設定が完了したら、サービスを再起動して有効にします。 次に、コマンドラインで SQL ステートメントを実行して検証します。時間のかかる SQL ステートメントを実行し、それを複数回実行して、それ以降の実行時間を確認します。クエリ キャッシュのキャッシュ ヒット数を取得して、クエリ キャッシュを使用するかどうかを判断します。 クエリキャッシュの使用 (1) 同じ文字列等価性を持つクエリSQL文のみが同じキャッシュを使用します。つまり、select name from cityとSELECT name FROM cityは同じキャッシュを使用しません。 (2) query_cache_type が ON の場合、すべてのクエリはデフォルトでキャッシュを使用します。sql_no_cache を使用すると、クエリがキャッシュを使用しないことを明示的に指定できます。 cityからsql_no_cache名を選択します。 (3) query_cache_typeがDEMANDの場合、sql_cacheを使用してクエリがキャッシュを使用することを指定する必要があります。 cityからsql_cache名を選択します。 3. キャッシュの無効化:テーブルの構造またはデータが変更されると、クエリ キャッシュ内のデータは有効ではなくなります。 INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE、DROP DATABASE などの操作を行うと、キャッシュされたデータが無効になります。したがって、クエリ キャッシュは、多数の同一クエリを実行するアプリケーションには適していますが、大量のデータ更新を実行するアプリケーションには適していません。 テーブル データのいずれかの行が変更されると、テーブルに関連するすべてのキャッシュが直ちに無効になります。 上記は、MySQL でクエリ キャッシュを実行するために必要な手順です。パラメータ設定についてもう一度おさらいしておきたいと思います。キャッシュが無効な場合は心配せず、エディターの分析に従って解決策を探してください。 以下もご興味があるかもしれません:
|
<<: Kylin V10 への zabbix-agent のインストール手順
目次背景1. dns-prefetch とは何ですか? 2. dns-prefetch を設定するに...
この記事では、雨滴効果を実現するためのJavaScriptキャンバスの具体的なコードを参考までに紹介...
実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...
まず、transform-origin 属性を使用する必要があります。transform 属性は必ず...
私は現在、Xiao Nian Gao に似たビデオおよびツール アプリを開発しています。ユーザーが作...
MyISAM ストレージエンジンMyISAM ストレージ エンジンは、書き込みよりも読み取りが多く、...
WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...
CSS の float プロパティを正しく使用することは、カバーすべき内容が多く、ブラウザの互換性の...
今日はサーバーにログインして、データベース内のいくつかのものを変更する準備をしました。しかし、パスワ...
単一のテーブルを削除する: tableName から columnName = value を削除し...
目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...
この質問は、Nuggets のメッセージから生まれました。友人が、次のコードの高さ遷移アニメーション...
この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...
この記事の例では、リストのシームレスなスクロールを実現するためのvueの具体的なコードを参考までに共...
問題の説明最近、Springbootプロジェクトを構築していたところ、会社のネットワークケーブルに接...