索引を使用したデータベース設計

索引を使用して、データ・アクセスを最適化し、固有性を確保し、クラスタリングを使用可能にできます。

データベースの物理設計にかかわっている場合、他の設計者と共同して索引付けする列と式を決定します。 さまざまなアプリケーションがデータをどのようにアクセスしようとしているかを記述するプロセス・モデルを使用します。 この情報は、適切なパフォーマンスが得られるように、索引付け方針を決定する場合に非常に重要です。

索引の主な目的は、以下のとおりです。

データ・アクセスを最適化するには
多くの場合、データ・アクセスは、索引を使用したほうが、使用しない場合よりも高速です。 DBMS が索引を使用して表内の行を検索する場合、DBMS が表全体をスキャンする場合よりもスキャンが高速になります。
一意性の確保
ユニーク索引のある表は、索引キーを形成する列に、同じ値の行を 2 つ持つことはできません。 例えば、給与計算アプリケーションでは従業員番号を使用しますが、2 人の 従業員が同じ従業員番号を持つことはできません。
クラスタリングを使用可能にする
クラスタリング索引は指定された順序で表の行を保持し、行の集合のページ・アクセスを最小化します。 表スペースがパーティション化されている場合、行が各パーティション内にクラスター化されます。 クラスタリングは、パーティションと同じ順序にすることができます。 例えば、パーティションがその月にあり、クラスタリング索引がその名前にある場合、行はその月内の名前でクラスター化されます。

一般的に、表の使用者は索引が使用中であることを意識しません。 Db2 インデックスを使用してテーブルにアクセスするかどうかを決定します。