- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLのインデックスについて)
MySQLのインデックスについて
このQ&Aのポイント
- MySQLのインデックスについて学びましょう。インデックスの役割や必要性、作成方法などについて解説します。
- 検索画面でのデータベース検索やインデックスの作成においての課題や解決策について考えてみましょう。
- MySQLのMyIsamを使用している場合のインデックス作成に注意が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>各組み合わせのインデックスを作成する いえ、各組み合わせは必要ないですよ。 5個の組み合わせインデックスを作っておけば、そのうちどれとどれを組み合わせても インデックスは有効になります。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
常識的に考えれば ALTER TABLE テーブル ADD INDEX(住所,年齢,名前,電話番号,メールアドレス) ; と連携したインデックスですね ただデータ件数が膨大で工夫を検討しているなら、 各項目をユーザーIDをもとにテーブル分けしてINNER JOINするのも手ですね。 ちなみに年齢は生年月日などにしないとはまりますよ
質問者
補足
回答ありがとうございます。 やはり各フィールド個別のインデックス+各組み合わせのインデックスを作成するとなるとフィールドが5つの場合は30パターンのインデックスを用意することになるのでしょうか。
お礼
インデックスは階層が深くなると検索スピードも遅くなるようです。 やはり名前だけが入力された場合などは、5個の組み合わせインデックスより名前だけのインデックスを使った方が速いようです。 データ件数が膨大になると組み合わせインデックスを使わずにフルスキャンした方が速いことも多々あるので難しいですね。 やはりデータが膨大になるといくらインデックスを使っても限界があるのでしょうか。
補足
回答ありがとうございます。 それでベストなスピードになるかどうかテストしてみます。