Q&A 58

効率のよい索引の定義の仕方


索引は探索や併合などの高速化にも使われます。しかし索引を登録すれば,無条件に検索等が速くなるというものではありません。
たとえば,全レコードの値が同じ項目をキーにした索引を登録しても,速くならないどころか逆効果です。併合などでは,使える索引がないとその旨警告されるのですが,それではと,適当に索引を張っても,重複レコードが多いようでは百害あって一利なしです。
また,非常に長い文章の含まれる文字列項目を索引キーに指定した場合も効率的ではありません。

高速化のための索引は,短い文字列や,整数や日付などの,データとして小さな項目をキーとし,重複のない項目を選ぶのが効率的です。ナルのたくさんある項目も好ましくありません。入力必須項目に対して重複禁止索引を指定するのがより効率的です。

複数の項目を索引キーに指定する場合は,第1キーがもっとも優先的に扱われるので,第1キーになるべく効率的な項目を選ぶようにします。