パーティション索引の概念

パーティション索引の概要

ガイドライン
  1. 表のパーティション化列が索引キーのサブセットの場合は、ローカル索引を使用する。この場合、他のガイドラインを考慮する必要はない。
  2. 索引が一意索引の場合は、グローバル索引を使用する。
  3. 管理性を優先する場合は、ローカル索引を使用する。
  4. アプリケーションがOLTPで、ユーザーがすばやい応答時間を必要とする場合は、グローバル索引を使用する。
  5. アプリケーションがDSSで、ユーザーがスループットを重視している場合は、ローカル索引を使用する。
パーティション表の索引分類
  • ローカル・パーティション索引
  • グローバル・パーティション索引
  • グローバル非パーティション索引

パーティション表の索引

ローカル・パーティション索引
  • ローカル・パーティション索引は、他のタイプのパーティション索引よりも管理が容易である。
  • ローカル・パーティション索引でも可用性が拡張されており、DSS環境では一般的となっている。
  • 1つのパーティションのデータを無効または使用不可能にする処理は、単一パーティションのみに影響する。
  • ローカル・パーティション索引は、表に対してパーティションまたはサブパーティションのメンテナンス操作を実行するときに、より高い可用性を提供する。
  • ローカルの非同一キー索引(Local Nonprefixed Indexes)と呼ばれる索引タイプは索引列の左接頭辞に対してパーティション化がしない。
  • ローカル索引を一意索引にするには、表のパーティション化キーが索引のキー列の一部である必要が出来る。
  • 明示的にローカル索引に追加することや削除することが出来ない。基礎となる表にパーティションを追加するまた削除する時ローカル索引のパーティションがメンテナンスされる。
グローバル・パーティション索引

グローバル・レンジ・パーティション索引

  • グローバル・レンジ・パーティション索引は、パーティション化の程度とパーティション化キーが表のパーティション化方法から独立しているため、柔軟といえる。
  • 新しい最上位パーティションを追加する場合は、ALTER INDEX SPLIT PARTITION文を使用する。
  • グローバル索引のパーティションが空の場合、ALTER INDEX DROP PARTITION文を発行すると明示的に削除出来る。
  • グローバル索引のパーティションにデータが含まれている場合は、パーティションを削除すると、次に上位のパーティションにUNUSABLEマークが設定される。
  • グローバル索引の最上位パーティションは削除出来ない。

グローバル・ハッシュ・パーティション索引
グローバル・ハッシュ・パーティション索引では、索引が直線的に大きくなっていく場合に競合が分散され、パフォーマンスが改善される。

グローバル非パーティション索引

グローバル非パーティション索引は、非パーティション索引と同様に動作する。この索引は通常はOLTP環境で使用され、あらゆる個別レコードへの効率的なアクセスを提供する。

パーティション表に索引を作成するガイドライン

OLTPアプリケーションの場合
  • グローバル索引と一意のローカル索引を使用すると、索引パーティション・プローブの数が最小になるため、非一意のローカル索引を使用するよりもパフォーマンスが向上する。
  • ローカル索引は、表に対してパーティションまたはサブパーティションのメンテナンス操作を実行するときに、より高い可用性を提供する。
  • ハッシュ・パーティション化されたグローバル索引は、索引が直線的に大きくなっていく場合に競合を分散させることでパフォーマンスを改善する。
データ・ウェアハウス・アプリケーションとDSSアプリケーション
  • データのロード時およびパーティションのメンテナンス操作時にはローカル索引のほうが管理が容易なため、ローカル索引の使用したほうがいい。
  • ローカル索引を使用すると、索引キーに基づくレンジ問合せにより、多くの索引パーティションをパラレルでスキャンできるため、パフォーマンスを改善できる。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License