IT資格用語解説基本情報技術者試験・データベースの性能向上
インデックス数
更新日:
用語解説
インデックス数は、一つの表に定義された索引の個数です。索引ごとに特定の検索や並べ替えを高速化できる一方、格納容量、更新処理、キャッシュ、保守作業の負荷を増やすため、利用問合せに基づいて絞ります。
■ 試験で押さえるポイント
INSERTでは原則として表本体と全関連索引へエントリを追加し、DELETEでは削除し、UPDATEでは索引キーが変わる索引を更新します。索引が多いほど書込み増幅が大きくなります。
各索引はページ、木構造、統計情報などの容量を使い、キャッシュを競合させます。再構築、統計更新、バックアップの時間にも影響します。
似た複合索引や、他の索引の先頭列と重複する単一列索引は冗長な場合があります。ただし並び順、選択性、カバリング要件が違えば両方必要なこともあります。
オプティマイザは表走査、単一索引、複数索引の組合せなどのコストを比較します。索引が存在しても低選択性の条件や大量行取得では使われないことがあります。
■ 選択肢での判断ポイント
索引増加で読取り候補は増えますが、更新時間と容量も増えるトレードオフを選びます。『索引は多いほど常に速い』『一問合せで必ず一索引だけ』という断定は誤りです。
例: 1,000行を追加する表に維持対象の索引が5個あれば、概算で表への1,000行追加に加えて最大件の索引エントリ追加が生じます。