MySQL最適化メモ02 – MySQL EXPLAIN type 開発

 MySQL最適化メモ01の続きで、typeの残り。 ref_or_nullより遅いタイプ。

・index_merge
 複数のインデックスを結合したタイプ。

SELECT * FROM vps_table WHERE column_one > 10 AND column_two > 20

・range
 インデックスの範囲を限定する(2値で挟み込むか、いくつかの候補から得る)場合のタイプ。

SELECT * FROM vps_table WHERE column_one > 10 AND column_one < 20

・index
 インデックス全域をスキャンする場合のタイプ。
 インデックスはデータ全域よりも小さいはずなのでALLよりはマシだけど、インデックスに適した動作をしていない(木やハッシュの探索で確定できず、インデックスを最後まで読まなければならない)

・ALL
 データ全域をスキャンする場合のタイプ。
 さくらのVPS 4GBでキャッシュされていても、1万レコードを全域スキャンすると分単位かかったりする一番低速な動作。
 ~数十レコード程度のタイプ値保持等の用途以外でこれが出てきたらクエリ解析してインデックスを貼る。

(15)


カテゴリー: MySQL   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です