応用情報技術者 データベース

インデックスを作成する主な目的は何か?

1. 検索・参照の高速化 ✓ 正解
2. データの整合性確保
3. ストレージ容量の節約
4. バックアップの高速化

📝 解説

インデックス(索引)はテーブルの特定列に対して作成するデータ構造で、本の索引(巻末の「あいうえお順の用語と掲載ページ一覧」)と全く同じ役割を果たします。本文を全ページスキャンせずに目的のページをすぐ見つけられるように、インデックスがあればテーブルの全行スキャン(フルスキャン)なしに目的のデータをすばやく検索できます。特にBツリーインデックスは検索・範囲検索に強く、計算量O(log n)で高速に検索できます。一方でインデックスはデータと別に管理するため、INSERT・UPDATE・DELETEのたびにインデックスも更新するオーバーヘッドが発生します。「読み込みは速くなるが書き込みはやや遅くなる」というトレードオフです。誤答の「データの整合性確保」は主キー制約や外部キー制約の役割、「ストレージ容量の節約」はインデックスが追加容量を必要とするため真逆、「バックアップの高速化」はインデックスとは無関係です。「インデックス=検索・参照の高速化(書き込みオーバーヘッドと引き換え)」と覚えましょう!

フラッシュカード形式で データベース を練習する

🎴 練習する

データベース の問題一覧・解説を見る →