• 締切済み

MySQL マルチカラムインデックスでの範囲検索

InnoDBでマルチカラムインデックスをもつテーブルに対して、1つ目のキーに範囲検索を行った場合、2つ目のキーはどんな場合も使われないのでしょうか? ■前提 ・テーブル名  tbl ・カラム  kaypert1(DATETIME) ,keypart2(INTEGER) ・インデックス  kaypert1,keypart2 このテーブルに対し、  SELECT * FROM bl WHERE keypart1 < '2009-03-31 20:00:00' AND keypart2 = 3; とした場合。 自分のイメージとしては、この検索でB-Treeの形としてkeypart1であてはまったデータそれぞれの下のTree(keypart2)を見に行くのかなと思っていました。 ただ、「LinuxDBシステム構築運用入門」という本を見ると、マルチカラムインデックスをもつテーブルに対して、1つ目のキーに範囲検索を行った場合は2つ目以降のキーは全く使われないと書いてあったので確認をしたいです。

みんなの回答

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

explainで見る限りでは最初の項目は索引の範囲検索を行いますが、取得行数からすると第二項目は実表をアクセスしてフィルタリングしているようです。

関連するQ&A