表の索引のパーティション化方法を決める際は、表にアクセスする必要があるアプリケーションの組合せを考慮します。どの方法を使用するかは、パフォーマンスと、可用性および管理性とのトレードオフになります。この項では、考慮する必要のあるいくつかのガイドラインを示します。
グローバル索引およびローカル同一キー索引では、索引パーティションのプローブ数が最小限になるので、ローカル非同一キー索引よりもパフォーマンスが向上します。
ローカル索引では、表のパーティションまたはサブパーティションのメンテナンス操作中でも、より高い可用性が得られます。ローカル非同一キー索引は、履歴データベースで特に有効です。
DSSアプリケーションでは、ローカル非同一キー索引によってパフォーマンスを向上させることができます。これは、索引キーに基づくレンジ問合せによって、多数の索引パーティションをパラレルにスキャンできるためです。
たとえば、「ローカル非同一キー索引」の図に示されているchecks
表に対して「acctno
between 40 and 45」という述語を使用する問合せでは、非同一キー索引ix3
のすべてのパーティションのパラレル・スキャンが実行されます。また、「ローカル非同一キー索引」の図に示されているdeptno
表に対してdeptno BETWEEN 40 AND 45
という述語を使用する問合せは、同一キー索引ix1
の1つのパーティションにアクセスするため、パラレル化できません。
履歴表では、索引はできるかぎりローカルにする必要があります。これにより、定期的なパーティション削除操作の影響を抑えることができます。
パーティション列以外の列の一意索引はグローバルにする必要があります。これは、キーにパーティション化キーが含まれていない一意ローカル非同一キー索引はサポートされていないためです。
使用できない索引は領域を消費しません。
関連項目:
表の管理のガイドラインの詳細は、『Oracle Database管理者ガイド』を参照してください。