Oracleのパーティションインデックスについて

Published: 2016年2月24日 by tomsato

◼︎ 概要

Oracleのパーティションについてまとめてみた

以前パーティションについてまとめてみましたが
パーティション化されたテーブルでインデックスを作成する際にローカルインデックスとグローバルインデックスがあるのでその違いについて調べます

Oracle勉強シリーズ

◼︎ ローカル・グローバルインデックスについて

説明
ローカルインデックス パーティションに合わせてインデックスも分割される
グローバルインデックス パーティション全体で1つのインデックスを作成する

さらにローカルパーティションインデックスは2つに分類できます

説明
同一キー索引 パーティションキーと索引が同じ
非同一キー索引 パーティションキーと索引が異なる

ローカルインデックスのほうが1つ1つのパーティション・索引で
独立できるので管理がしやすく参照する時も早くなるらしい
索引の作りすぎは問題の元なので全部ローカルインデックスにすればいいというわけではない

◼︎ 使い方について

ローカルインデックスかグローバルインデックスかの確認方法

// テーブル名、インデックス目、表領域名、索引種別をカンマ区切りで出力
SQL> select table_name||','||index_name||','||tablespace_name||','||partitioned from user_indexes;

ローカル索引の場合にpartitionedがYESとなっている

ローカルorグローバルインデックスの作成方法

// LOCALインデックス作成
CREATE INDEX インデックス名 ON テーブル名(列名, ...) LOCAL;

// GLOBALインデックス作成
CREATE INDEX インデックス名 ON テーブル名(列名, ...) GLOBAL
PARTITION BY RANGE(列名)
(
  PARTITION idx_partition名1 VALUES LESS THAN(条件),
  PARTITION idx_partition名2 VALUES LESS THAN(MAXVALUE)
);

注意点としてインデックス作成時の列名にはパーティション化した列を全て含ませる必要がある

コメントを書く

※ 個別に返信が必要な時のみご記入ください

※ Emailは公開されません

※ 承認されると名前・コメントが下記に表示されます

コメント一覧

最近の投稿

ビジュアルリグレッションテストについてまとめ、ネットで調べると数多くのライブラリがありどれがどんな立ち位置なのか全体像がわかりずらかったのでどんな種類があるのか入門の入門としてまとめます、またPlaywrightを使って実際に触ってみました

社内ツールなどの超小規模なAPIをGolangで実装する際にフレームワークを使うべきかを、実際にnet/httpを使った実装とフレームワークを使った実装を比較することでどれだけ優位性があるかを見ていきたいと思います。今回はフレームワークにはシンプルで使いやすそうなEchoを使うことにします。

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

カテゴリ一覧

タグ一覧