2013年5月28日火曜日

実行計画

const >>> eq_ref > ref > range > index >>>越えられない壁>>> ALL

const・・・PRIMARY KEYまたはUNIQUEインデックスのルックアップによるアクセス。最速。
eq_ref・・・JOINにおいてPRIARY KEYまたはUNIQUE KEYが利用される時のアクセスタイプ。constと似ているがJOINで用いられるところが違う。
ref・・・ユニーク(PRIMARY or UNIQUE)でないインデックスを使って等価検索(WHERE key = value)を行った時に使われるアクセスタイプ。
range・・・インデックスを用いた範囲検索。
index・・・フルインデックススキャン。インデックス全体をスキャンする必要があるのでとても遅い。
ALL・・・フルテーブルスキャン。インデックスがまったく利用されていないことを示す。OLTP系の処理では改善必須。

SHOW STATUS LIKE 'Qcache%';

Qcache_free_blocks

クエリ キャッシュ内の空きメモリ ブロックの数
Qcache_free_memory

クエリ キャッシュ内の空きメモリ ブロック量
Qcache_hits

クエリ キャッシュ ヒットの数。
Qcache_inserts

キャッシュに追加したクエリ数。
Qcache_lowmem_prunes

メモリ不足を解消するために、クエリ キャッシュから削除されたクエリの数。
Qcache_not_cached

キャッシュしないクエリの数。(キャッシュできないか、または query_cache_type でキャッシュしない設定)
Qcache_queries_in_cache

クエリ キャッシュに登録したクエリ数。
Qcache_total_blocks

クエリ キャッシュの合計ブロック数。
参照
ステータス変数
EXPLAINを使用して、クエリを最適化する
MySQLのEXPLAINを徹底解説!!