• ベストアンサー

MySQLのインデックスについて

MySQLのデータベースの設計についての質問です。 AとBの2つのカラムがそれぞれ一致する項目を選びたいのですが、この際AとBの文字列をハッシュにするなどし、これを新たにカラムにしインデックスにしたほうが高速でしょうか? ちなみに、常に、決まったAとBをセットにし選ぶつもりです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

質問の内容がいまいちわからないのですが・・・ AとBを組合せで検索をかけるならAとBをセットしたインデックスを使うのが妥当かと

maaacat
質問者

お礼

調べてみたところ複合インデックスというものがあるみたいですね。 ありがとうございます。

その他の回答 (1)

  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.2

マニュアル文書のアップデート比較みたいなことを想定して、カラム型がtextで先頭n文字のindexでは対応しきれないサイズのデータが各行に格納されていて、その全文字列での一致を判定ということなら、ハッシュ値比較の方が効率は良さそうだけど(インデックスサイズも抑えられる?)、それ以外では、varchar型に収まる程度ならハッシュ値を計算保持し直す作業の方が無駄に思える。

maaacat
質問者

お礼

仰る通り、それほど長くないのでハッシュ化は無駄ですね。 ありがとうございます。

関連するQ&A