無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.13 MySQL クエリ キャッシュ
« 4.12.3 複数サーバ環境でのクライアントプログラムの使用

4.13.1 クエリ キャッシュの動作 »
Section Navigation      [Toggle]
  • 4 データベース管理
  • 4.1 サーバ サイド プログラムの概略
  • 4.2 mysqld ? MySQL サーバ
  • 4.3 MySQL サーバ スタートアップ プログラム
  • 4.4 mysqlmanager ? MySQL Instance Manager
  • 4.5 インストール関連プログラム
  • 4.6 セキュリティ問題
  • 4.7 MySQL アクセス権限システム
  • 4.8 MySQL ユーザ アカウント管理
  • 4.9 バックアップとリカバリ
  • 4.10 MySQL のローカライズと国際的使用
  • 4.11 MySQL サーバ ログ
  • 4.12 同じマシン上での複数 MySQL サーバの実行
  • 4.13 MySQL クエリ キャッシュ
    • 4.13.1 クエリ キャッシュの動作
    • 4.13.2 クエリ キャッシュでの SELECT オプション
    • 4.13.3 クエリ キャッシュの設定
    • 4.13.4 クエリ キャッシュのステータスと保守

4.13. MySQL クエリ キャッシュ

[+/-]

4.13.1. クエリ キャッシュの動作
4.13.2. クエリ キャッシュでの SELECT オプション
4.13.3. クエリ キャッシュの設定
4.13.4. クエリ キャッシュのステータスと保守

クエリ キャッシュには、SELECT ステートメントのテキストを、クライアント送信の関連結果を合わせて格納します。後でまったく同じクエリを受け取ると、サーバはそのクエリの解析と実行を繰り返す代わりに、クエリ キャッシュから結果を取り出します。

テーブルの一部を頻繁には変更することがなく、同じクエリを何度も実行するような環境では、クエリ キャッシュが非常に役立ちます。 動的コンテンツを大量に持つ多くの Web サーバでは、このような状況が一般的です。

注意:クエリキャッシュから古いデータが返ることはありません。データ変更があると、クエリ キャッシュに関連するエントリをすべてフラッシュします。

注意:複数の mysqld サーバで 同一のMyISAM テーブルを更新している環境では、クエリ キャッシュは機能しません。

注意:クエリ キャッシュは、サーバ サイドの準備されたステートメント (準備文) には使用できません。サーバ サイドの準備文がある場合には、クエリ キャッシュの条件を満たしません。詳細は 項23.2.4. 「準備されたC APIステートメント。」 を参照してください。

クエリ キャッシュのパフォーマンスに関するデータの一部を次に示します。これらの結果は、2 GB の RAM、64 MB のクエリキャッシュを搭載する Linux Alpha 2 × 500 MHz での MySQL ベンチマークスィートの実行により生成したものです。

  • レコードが 1 つしかないテーブルからレコードを 1 つ選択する場合など、実行しているクエリが単純であるに関わらず、互いに異なることが原因で、クエリをキャッシュすることができないときは、クエリ キャッシュをアクティブにしておくことによるオーバーヘッドは 13% になる。 これは最悪の場合のシナリオとみなすことができる。現実には、クエリはこの例よりもはるかに複雑なため、通常オーバーヘッドはかなり低くなる。

  • レコードが 1 つだけのテーブルでの 1 つのレコードの検索では、238% 迅速化する。これは、キャッシュに格納してるクエリで想定している迅速化の最小値に近い数値である。

クエリ キャッシュのコードを無効にするには、query_cache_size=0 と、設定する。クエリ キャッシュ コードを無効にすると、目立ったオーバーヘッドはなくなる。MySQL をソースから建てている場合、--without-query-cache オプションで configure を呼び出し、クエリ キャッシュをコードから除外できる。

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.