MySQLクエリキャッシュの簡単な使い方の詳細な説明

MySQLクエリキャッシュの簡単な使い方の詳細な説明

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース管理システムであり、Oracle の製品です。 MySQL は、最も人気のあるリレーショナル データベース管理システムの 1 つです。WEB アプリケーションに関して言えば、MySQL は最高の RDBMS (リレーショナル データベース管理システム) アプリケーション ソフトウェアの 1 つです。

MySQL クエリ キャッシュをオンにすると、まったく同じ SQL ステートメントを実行するときに、サーバーは結果をキャッシュから直接読み取ります。データが変更されると以前のキャッシュは無効になるため、頻繁に変更されるテーブルはクエリ キャッシュには適していません。

1. クエリキャッシュの実装プロセス

2. クエリキャッシュを構成する

1. 現在のMySQLデータベースがクエリキャッシュをサポートしているかどうかを確認する

'have_query_cache' のような変数を表示します。 

2. MySQLでクエリキャッシュが現在有効になっているかどうかを確認する

'query_cache_type' のような変数を表示します。 

3. クエリキャッシュのサイズを確認する

'query_cache_size' のような変数を表示します。 

4. クエリキャッシュのステータス変数を表示する

'Qcache%' のようなステータスを表示します。 

パラメータ意味
Qキャッシュ空きブロッククエリキャッシュ内の空きメモリブロックの数
Qキャッシュ空きメモリクエリキャッシュに使用可能なメモリ量
Qキャッシュヒットクエリキャッシュヒット数
Qcache_挿入クエリキャッシュに追加されたクエリの数
Qcache_lowmen_prunesメモリ不足のためクエリキャッシュから削除されたクエリの数
Qキャッシュがキャッシュされていないキャッシュされなかったクエリの数(キャッシュできなかった、または query_cache_type 設定によりキャッシュされなかったクエリ)
Qcache_queries_in_cacheクエリキャッシュに登録されたクエリの数
Qキャッシュ合計ブロック数クエリキャッシュ内のブロックの総数

3. クエリキャッシュを有効にする

MySQL クエリ キャッシュはデフォルトで無効になっています。クエリ キャッシュを有効にするには、パラメータ query_cache_type を手動で構成する必要があります。クエリキャッシュタイプ
このパラメータには 3 つの値が可能です。

価値意味
オフまたは0クエリキャッシュが無効です
ONまたは1クエリ キャッシュ機能がオンになっています。SELECT の結果は、キャッシュ条件を満たしている場合はキャッシュされます。そうでない場合はキャッシュされません。SQL_NO_CACHE が明示的に指定されている場合はキャッシュされません。
需要または2クエリ キャッシュ機能は要求に応じて実行されます。SQL_CACHE を明示的に指定する SELECT ステートメントのみがキャッシュされ、その他はキャッシュされません。

1. usr/my.cnf で設定します (設定ファイルは /etc/my.cnf にある場合もあります)

2. サービスを再起動する

サービスmysqlの再起動

3. テスト


4. クエリキャッシュのSELECTオプション

SELECT ステートメントで指定できるクエリ キャッシュに関連するオプションは 2 つあります。

  • SQL_CACHE : クエリ結果がキャッシュ可能であり、query_cache_type システム変数の値が ON または DEMAND の場合、クエリ結果をキャッシュします。
  • SQL_NO_CACHE: サーバーはクエリ キャッシュを使用しません。クエリ キャッシュをチェックしたり、結果がすでにキャッシュされているかどうかをチェックしたり、クエリ結果をキャッシュしたりしません。
顧客からSQL_CACUE id、nameを選択します。
顧客からSQL_NO_CACHE id、nameを選択します。

5. クエリキャッシュの失敗

1. 一貫性のないSQL文

キャッシュにヒットするには、クエリSQL文が一貫している必要があります。

SQL1: tb_itemからcount(*)を選択します。
SQL2: tb_Itemからcount(*)を選択します。

2. クエリステートメントに不確実な値が含まれています

SQL1: select * from tb_item where updatetime < now() limit 1;
SQL2:ユーザーを選択します();
SQL3:データベースを選択します();

3. テーブルクエリステートメントを使用しない

「A」を選択します。

4. mysql、information_schema、performance_schemaデータベースのテーブルをクエリする

information_schema.engines から * を選択します。

5. ストアドファンクション、トリガー、またはイベント本体内で実行されるクエリ

タイトル通り

6. テーブルの変更によりキャッシュが削除される

テーブルが変更されると、そのテーブルを使用するすべてのキャッシュされたクエリが無効になり、キャッシュから削除されます。これには、変更されたテーブルにマップされているテーブルに対して MERGE を使用するクエリが含まれます。テーブルは、INSERT、UPDATE、DELETE、TRUNCATE TABLE、ALTER TABLE、DROP TABLE、DROP DATABASE など、さまざまな種類のステートメントによって変更できます。

上記はMySQLクエリキャッシュの簡単な使用法のまとめです。

これで、MySQL クエリ キャッシュの簡単な使用法に関するこの記事は終了です。MySQL クエリ キャッシュの使用法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLクエリキャッシュに関するヒント
  • MySQL キャッシュのクエリおよびクリアコマンドの詳細な説明
  • MySQLクエリキャッシュメカニズムの基礎学習チュートリアル
  • MySQLクエリキャッシュをクリアする方法
  • MySQLクエリキャッシュの説明
  • mysql クエリ キャッシュの設定

<<:  XHTML ドキュメントで JavaScript と CSS を正しく使用する方法

>>:  タイプライター効果を実現する純粋な js

推薦する

MySQL テーブルを返すとインデックスが無効になるケースの説明

導入MySQL InnoDB エンジンがレコードをクエリし、インデックス カバレッジを使用できない場...

WINDOWS での MYSQL のインストールに関する詳細なチュートリアル

1. インストールパッケージをダウンロードする- お使いのコンピュータシステムに応じて適切なバージョ...

Node.jsをゼロから学ぶ

目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...

HTML テーブル データを Json 形式に変換するサンプル コード

<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

Linux環境変数の設定戦略の詳細な説明

ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数を設定する必要があります。以下...

伝説的な VUE 構文シュガーは何をするのでしょうか?

目次1. 糖衣構文とは何ですか? 2. VUE の構文糖とは何ですか? 1. 最も一般的な構文シュガ...

CSSレイアウトにおけるフローティング問題に対する4つの解決策の詳細な説明

1. 原因:サブボックスをフロートに設定した後の効果: 青いボックスをフロートに設定すると、標準のド...

Linux で大容量メモリ ページを持つ Oracle データベースを最適化する方法

序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...

Docker Alpine イメージのタイムゾーン問題に対する完璧な解決策

最近、Docker を使用して Java アプリケーションをデプロイしていたときに、タイムゾーンが間...

MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリ:サブクエリ: 選択クエリ ステートメント内に別の選択ステートメ...

PHPのmail()関数を使用してメールを送信する

PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...

MySQLフィルタリングレプリケーションのアイデアの詳細な説明

目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...

MySQL 4 データをインポートする方法

1. mysqlコマンドをインポートするmysql コマンドのインポート構文は次のとおりです。 my...

WeChatアプレットにおけるデータ保存実装方法

目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...