ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:nihon_no_samurai データベースのインデックスについて教えてください(複合インデックス)
困り度:
  • 困っています
インデックスについて教えてください。

データベースの項目にFirstNameとLastNameがあり、
AND検索のためにFirstNameとLastNameに複合インデックスを
設定しました。

でもFirstNameとLastNameのそれぞれ単独でも検索を
するような場合、FirstNameとLastNameの複合インデックスに
併せて、それぞれ単独のインデックスを作成する必要が
あるものでしょうか?

よろしくお願いいたします。
質問投稿日時:07/02/10 09:56
質問番号:2739789
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:chukenkenkou 検索と言っているのは、「=」条件やlikeの前方一致など、インデクスを有効利用できる検索ですか?
それとも、「C1 like '%xxx%'」といった検索もあるのですか?

母体データ件数は、1万件以上くらいはあるのでしょうか?

母体件数が数千件以下程度と少なければ、インデクスを付ける効果は少なくなります。

>FirstNameとLastNameに複合インデックスを設定しました

インデクスを構成する先頭列は、LastNameではないのですか?
普通、FirstNameでの検索より、LastName単独またはLastName+FirstNameでの検索が多いと思いますが?

インデクスを有効利用できる検索条件を指定することが前提ですが、(LastName+FirstName)でインデクスを付ければ、LastNameだけの条件でもインデクスを活用できます。
ある程度の母体データ量があり、インデクスを有効利用できるFirstNameだけでの検索もあるなら、FirstNameにもインデクスを付けた方がいいでしょう。
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:07/02/11 23:24
回答番号:No.1
この回答へのお礼ありがとうございます!