Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  クエリーキャッシュのステータスと保守

8.9.3.4 クエリーキャッシュのステータスと保守

MySQL サーバーにクエリーキャッシュが存在するかどうかをチェックするには、次のステートメントを使用します。

mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

FLUSH QUERY CACHE ステートメントによって、クエリーキャッシュをデフラグして、そのメモリーの利用を改善できます。このステートメントは、キャッシュからクエリーを削除しません。

RESET QUERY CACHE ステートメントは、クエリーキャッシュからすべてのクエリー結果を削除します。FLUSH TABLES ステートメントもこれを実行します。

クエリーキャッシュのパフォーマンスをモニターするには、SHOW STATUS を使用して、キャッシュのステータス変数を表示します。

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+--------+
| Variable_name           | Value  |
+-------------------------+--------+
| Qcache_free_blocks      | 36     |
| Qcache_free_memory      | 138488 |
| Qcache_hits             | 79570  |
| Qcache_inserts          | 27087  |
| Qcache_lowmem_prunes    | 3114   |
| Qcache_not_cached       | 22989  |
| Qcache_queries_in_cache | 415    |
| Qcache_total_blocks     | 912    |
+-------------------------+--------+

これらの各変数の説明は、セクション5.1.6「サーバーステータス変数」にあります。ここでは、それらのいくつかの使用方法について説明します。

SELECT クエリーの合計数は、次の式で得られます。

  Com_select
+ Qcache_hits
+ queries with errors found by parser

Com_select 値は次の式で得られます。

  Qcache_inserts
+ Qcache_not_cached
+ queries with errors found during the column-privileges check

クエリーキャッシュでは、可変長ブロックを使用するため、Qcache_total_blocks および Qcache_free_blocks に、クエリーキャッシュのメモリー断片化が示されることがあります。FLUSH QUERY CACHE 後には、空きブロックが 1 つだけ残ります。

キャッシュされるすべてのクエリーには、少なくとも 2 つのブロック (1 つはクエリーテキスト用で、1 つ以上はクエリー結果用) が必要です。さらに、クエリーで使用される各テーブルにも 1 つのブロックが必要です。ただし、複数のクエリーで同じテーブルを使用している場合、1 つのテーブルブロックだけを割り当てる必要があります。

Qcache_lowmem_prunes ステータス変数によって提供される情報は、クエリーキャッシュサイズをチューニングするのに役立つことがあります。それは、新しいクエリーのキャッシュのためにメモリーを解放するために、キャッシュから削除されたクエリーの数をカウントします。クエリーキャッシュは、LRU (Least Recently Used) 戦略を使用して、キャッシュから削除するクエリーを決定します。チューニング情報は、セクション8.9.3.3「クエリーキャッシュの構成」にあります。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.