November 08, 201100:12 カテゴリmysqlプログラミング mysql の気持ちになって考えよう 先のエントリで書いた「ソフトウェアの気持ちになって考える」というのを、データベースに応用してみよう。 例えば mysql でマルチカラムインデックスを3つのカラム (A,B,C) に張った場合、 「where A=? and B=? and C > ?」や「where A=? and B = ?」にはそのインデックスが使われるが 「where C=?」や「where B=? and C=?」には有効に働かない、という点に注意する必要がある。 これを、where句に指定されるカラムは複合インデックスのleft most prefixでなければならないと表現するのだけど、それだけ聞くとなにやら小難しい複雑なルールに見える。なぜそのような制約があるんだろう? mysql の気持ち