データベースの性能向上

この記事での学習内容 基本情報 応用情報

データベースへのアクセス効率向上のために,インデックスを有効に活用する考え方を理解する。

用語例:インデックス数,負荷,ユニークインデックス,クラスタ化インデックス

インデックスの活用

データベースのインデックス(索引)は、本体となるデータ群の他に、検索を早めるために設けられたデータ群です。

インデックスは、キーとその存在1の一覧であり、本体となるデータ群の配置順をたどる必要が無いので、データベースの性能を向上させます。

インデックスを活用すると高速になるのは、インデックス表作成時にハッシュ表やB木など、高速に探索できるためのデータ構造をDBMS側で作成しているため、インデックスを活用すると高速に検索が出来るようになります。

複合インデックス

複数の項目の値を条件に検索するようなデータ操作をしばしば行う場合に、複数の項目に対して一つのインデックスを設定することです。

インデックス作成時の注意事項

インデックス作成時には、以下のような点に注意が必要です。

  • 絞込効果が小さい項目に設定すると効果が薄い。(例えば、名簿における性別や血液型)
  • データを更新すると、インデックスも更新されるので、更新頻度が多い表にインデックスを作成すると更新速度が低下する。
  • 絞込の効果が高く、検索キーとして使われる項目に対して、インデックスを作成するのが望ましい。