令和7年度 ITパスポート試験 公開問題 問65 解説 DBMSのインデックス
DBMS において,データの検索を高速に行う目的で,必要に応じて設定して利用す る情報はどれか。
- ア インデックス ✓ 正答
- イ 外部キー
- ウ 主キー
- エ スキーマ
解説
インデックスという選択肢の判断基準
この問題は「検索を高速にする」「必要に応じて設定する」という二つのキーワードからインデックスを選択します。データベースにおいて、特定の条件でデータを探す際に、全データを順番にチェックするのではなく、あらかじめ用意された「目次」を使って目的の場所へ直行する仕組みがインデックスです。
インデックスの仕組みと役割
データベースのインデックスは、書籍の巻末にある索引と同じ役割を果たします。
例えば、1000ページある専門書の中から特定のキーワードを探す場合、1ページ目から順に最後まで読んでいくのは非常に時間がかかります。しかし、索引を使えば、そのキーワードが何ページにあるかすぐに分かり、目的のページだけを開けば済みます。
データベースにおいても、インデックスを設定していないテーブルで検索を行うと、システムはすべてのデータを一つずつ確認する「全件走査」という処理を行います。データ量が増えるほど検索時間は長くなりますが、インデックスを作成しておけば、特定の列(キー)に絞って効率よくデータにたどり着けるため、検索性能が劇的に向上します。
「必要に応じて設定する」という点も重要です。インデックスは検索を速くする一方で、データを追加・更新・削除するたびにインデックス自体も更新しなければならないため、無闇に作成しすぎると逆にデータの書き込み性能が低下するという副作用があります。そのため、頻繁に検索される列に対して適切に設定することが、データベース設計の腕の見せ所となります。
他の選択肢が誤りである理由
- 外部キー:テーブル間の関係性を定義するためのもので、データの整合性を保つための制約です。検索速度の向上そのものを目的としたものではありません。
- 主キー:テーブル内の各行を一意に識別するための項目です。主キーには自動的にインデックスが作成されることが多いですが、主キーの本来の目的は「データの識別・重複防止」です。
- スキーマ:データベース全体の論理的な構造や定義(テーブル構成やデータ型など)のことです。設定や変更は頻繁に行うものではなく、検索効率化のためのツールではありません。
実務における活用
エンジニアは、実際の運用環境で「検索が遅い」という問題に直面した際、まずどの列にインデックスが貼られているかを確認します。逆に、大量のデータを一括で登録するバッチ処理などで書き込みが遅い場合は、一時的にインデックスを削除するなどの最適化を行うこともあります。インデックスは、利便性と引き換えに管理コストが発生するトレードオフの関係にあることを理解しておくことが、ITパスポートの枠を超えた実践的な知識となります。