質問 |
||
| 質問者: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 |
|
| この回答へのお礼 | ありがとうございます! |