いんでっくす
インデックス
データベースの特定の列に対して付与し、目的のデータへ高速にアクセスできるようにする索引のことです。
詳しい説明
インデックスとは、データベースにおいて、検索速度を向上させるためにデータに付与される索引のことです。書籍の巻末にある索引と同じく、これを利用することで、全データを順番に走査(テーブルスキャン)しなくても、目的のデータがどこにあるかを即座に特定し、高速にアクセスできます。
インデックスを作成すると読み取り速度は劇的に向上しますが、一方で更新処理にはオーバーヘッドが生じます。データが追加、更新、削除されるたびにインデックス自体も再構築・修正する必要があるためです。したがって、検索が中心のシステムでは有効ですが、更新頻度が極めて高いテーブルに適用しすぎると、かえって性能が低下する可能性があります。
試験では、インデックスの仕組みとしてB木(B-Tree)などのデータ構造が問われることがあります。また、インデックスを作成する列の選択(頻繁に検索条件に使われる列が適している)や、インデックスを使用しない場合と使用した場合のパフォーマンスの違いなども重要な学習ポイントとなります。
試験で問われること
ITパスポート試験
- 検索速度を向上させるための索引であること。
- 検索は速くなるが更新は遅くなるというトレードオフ。
- 書籍の索引とのイメージでの理解。
基本情報技術者試験
- B木などのデータ構造。
- パフォーマンス向上と更新時オーバーヘッドのバランス。
- インデックス設計の指針。