表に索引を作成すると、特定の列の検索処理の速度が向上する。しかし、データの挿入(INSERT)、更新(UPDATE)、削除(DELETE)では、索引のメンテナンスがバックグラウンドで発生するため、負荷が高くなってしまう。よって、索引を作成する場合は以下の条件にあう場合にのみ作成する。

  • 表から2%から4%のデータを検索する場合
  • 広範囲の値(多くの種類の値)を含む列
  • NULL値を多く含む列
  • WHERE句や結合条件で使用する列

 

頻繁に更新が発生する表では索引の作成はお勧めしない。