データベースエンジン
インデックス作成は、一部のストレージエンジンがデータベースのパフォーマンスを向上させるために使用する手法である。多くの種類のインデックスは、クエリを実行するときにすべてのエントリを調べる必要性を減らす点が共通である。大規模なデータベースでは、これによりクエリの時間/コストを桁違いに削減できる。インデックスの最も単純な形式は、本の裏にあるインデックスと同様に、エントリの場所への隣接する参照を使用して二分検索を使用して検索できる値のソートされたリストである。同じデータに複数のインデックスを付けることができる(従業員データベースは、姓と雇用日でインデックスを付けることができる)。
インデックスはパフォーマンスに影響するが、結果には影響しない。データベース設計者は、アプリケーションロジックを変更せずにインデックスを追加または削除できるため、データベースの拡張やデータベースの使用状況の変化に伴うメンテナンスコストを削減できる。インデックスはデータアクセスを高速化できるが、データベース内のスペースを消費するため、データが変更されるたびに更新する必要がある。したがって、インデックスはデータアクセスを高速化できるが、データの保守は遅くなる。これらの2つの属性は、特定のインデックスがコストに見合うかどうかを決定する。