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万レコードを全域スキャンすると分単位かかったりする一番低速な動作。
~数十レコード程度のタイプ値保持等の用途以外でこれが出てきたらクエリ解析してインデックスを貼る。
(131)