無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.13 MySQL クエリ キャッシュ :: 4.13.4 クエリ キャッシュのステータスと保守
« 4.13.3 クエリ キャッシュの設定

5 レプリケーション »
Section Navigation      [Toggle]
  • 4.13 MySQL クエリ キャッシュ
  • 4.13.1 クエリ キャッシュの動作
  • 4.13.2 クエリ キャッシュでの SELECT オプション
  • 4.13.3 クエリ キャッシュの設定
  • 4.13.4 クエリ キャッシュのステータスと保守

4.13.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    |
+-------------------------+--------+

れぞれの変数に関する詳細は、項4.2.5. 「ステータス変数」 を参照してください。

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) します。サイズの調節方法については、項4.13.3. 「クエリ キャッシュの設定」 を参照してください。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.