プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

2.10 空間索引に関する構造

この項では、空間索引データおよびメタデータを含む表の構造について説明します。空間索引付けの概念および使用上の注意は、「空間データの索引付け」を参照してください。空間索引データおよびメタデータは、ともにSpatial and Graphの索引付けルーチンによって作成およびメンテナンスされる表に格納されています。これらの表は、(基になる)フィーチャ表の所有者のスキーマに作成され、フィーチャ表には、SDO_GEOMETRY型の列に作成された空間索引があります。

2.10.1 空間索引ビュー

スキーマ(ユーザー)ごとに、xxx_SDO_INDEX_INFOとxxx_SDO_INDEX_METADATAという2つの空間索引メタデータ・ビューがあります。xxxはUSERまたはALLです。これらのビューは、ユーザーに対して読込み専用であり、空間索引付けルーチンによって作成およびメンテナンスされます。

2.10.1.1 xxx_SDO_INDEX_INFOビュー

次のビューには、空間索引についての基本情報が含まれます。

  • USER_SDO_INDEX_INFOには、ユーザーが所有するすべての空間表の索引情報が含まれます。

  • ALL_SDO_INDEX_INFOには、ユーザーがSELECT権限を持つ、すべての空間表の索引情報が含まれます。

USER_SDO_INDEX_INFOビューおよびALL_SDO_INDEX_INFOビューには、表2-11に示すとおり、同じ列が含まれます。ただし、USER_SDO_INDEX_INFOビューには、SDO_INDEX_OWNER列は含まれません。列をビュー定義の順に示します。

表2-11 xxx_SDO_INDEX_INFOビューの列

列名 データ型 用途

SDO_INDEX_OWNER

VARCHAR2

索引の所有者です(ALL_SDO_INDEX_INFOビューのみ)。

INDEX_NAME

VARCHAR2

索引の名前。

TABLE_OWNER

VARCHAR2

この索引が作成された列を含む表の所有者の名前です。

TABLE_NAME

VARCHAR2

この索引が作成された列を含む表の名前です。

COLUMN_NAME

VARCHAR2

この索引が作成された列の名前です。

SDO_INDEX_TYPE

VARCHAR2

RTREEが含まれます(Rツリー索引の場合)。

SDO_INDEX_TABLE

VARCHAR2

空間索引表(「空間索引表の定義」を参照)の名前です。

SDO_INDEX_STATUS

VARCHAR2

(Oracleで使用するために予約されています。)

2.10.1.2 xxx_SDO_INDEX_METADATAビュー

次のビューには、空間索引メタデータについての詳細情報が含まれます。

  • USER_SDO_INDEX_METADATAには、ユーザーが所有するすべての空間表の索引情報が含まれます。

  • ALL_SDO_INDEX_METADATAには、ユーザーがSELECT権限を持つ、すべての空間表の索引情報が含まれます。

USER_SDO_INDEX_METADATAとALL_SDO_INDEX_METADATAビューには、表2-12に示す、同じ列が含まれます。列をビュー定義の順に示します。

表2-12 xxx_SDO_INDEX_METADATAビューの列

列名 データ型 用途

SDO_INDEX_OWNER

VARCHAR2

索引の所有者です。

SDO_INDEX_TYPE

VARCHAR2

RTREEが含まれます(Rツリー索引の場合)。

SDO_LEVEL

NUMBER

(該当なし、サポートされなくなった機能で使用。)

SDO_NUMTILES

NUMBER

(該当なし、サポートされなくなった機能で使用。)

SDO_MAXLEVEL

NUMBER

(該当なし、サポートされなくなった機能で使用。)

SDO_COMMIT_INTERVAL

NUMBER

(該当なし、サポートされなくなった機能で使用。)

SDO_INDEX_TABLE

VARCHAR2

空間索引表(「空間索引表の定義」を参照)の名前です。

SDO_INDEX_NAME

VARCHAR2

索引の名前。

SDO_INDEX_PRIMARY

NUMBER

1次索引か2次索引かを示します。1は1次索引、2は2次索引です。

SDO_TSNAME

VARCHAR2

SDO_INDEX_TABLEのスキーマ名です。

SDO_COLUMN_NAME

VARCHAR2

この索引が作成された列の名前です。

SDO_RTREE_HEIGHT

NUMBER

Rツリーの高さです。

SDO_RTREE_NUM_NODES

NUMBER

Rツリーのノード数です。

SDO_RTREE_DIMENSIONALITY

NUMBER

Spatial and Graphが内部的に使用する次元数です。これは、索引付けされる次元数(CREATE INDEX文またはALTER INDEX文のsdo_indx_dimsキーワードで制御され、このビューのSDO_INDEX_DIMS列に格納)とは異なる場合があります。たとえば、測地データの索引の場合、SDO_RTREE_DIMENSIONALITYの値は3ですが、SDO_INDEX_DIMSの値は2です。

SDO_RTREE_FANOUT

NUMBER

Rツリー・ノードにある子の最大数です。

SDO_RTREE_ROOT

VARCHAR2

索引表にあるRツリーのルート・ノードに対応するROWIDです。

SDO_RTREE_SEQ_NAME

VARCHAR2

Rツリーに関連付けられた順序名です。

SDO_FIXED_META

RAW

使用可能な場合、この列には固定レベル索引に対するSDO_GROUPCODEまたはSDO_CODEのメタデータ部分が含まれます。

SDO_TABLESPACE

VARCHAR2

SQLのCREATE TABLE文の場合と同様です。SDOINDEX表を作成するための表領域です。

SDO_INITIAL_EXTENT

VARCHAR2

SQLのCREATE TABLE文の場合と同様です。

SDO_NEXT_EXTENT

VARCHAR2

SQLのCREATE TABLE文の場合と同様です。

SDO_PCTINCREASE

NUMBER

SQLのCREATE TABLE文の場合と同様です。

SDO_MIN_EXTENTS

NUMBER

SQLのCREATE TABLE文の場合と同様です。

SDO_MAX_EXTENTS

NUMBER

SQLのCREATE TABLE文の場合と同様です。

SDO_INDEX_DIMS

NUMBER

この索引が構築された列内のジオメトリ・オブジェクトの次元数です。この値は、CREATE INDEX文またはALTER INDEX文のsdo_indx_dimsキーワードの値で決定されます。

SDO_LAYER_GTYPE

VARCHAR2

DEFAULT (レイヤーが点およびポリゴン・データの両方を含むことができる場合)または「SDO_GTYPE」の「ジオメトリ・タイプ」列に示す値が含まれます。

SDO_RTREE_PCTFREE

NUMBER

Rツリー索引の作成時は空にしておく、各索引ツリー・ノードのスロットの最小割合です。

SDO_INDEX_PARTITION

VARCHAR2

パーティション索引の場合は、索引パーティションの名前です。

SDO_PARTITIONED

NUMBER

索引がパーティション索引でない場合は0(ゼロ)、パーティション索引の場合は1が含まれます。

SDO_RTREE_QUALITY

NUMBER

索引の品質スコアです。Rツリーの品質については、「Rツリーの品質」を参照してください。

SDO_INDEX_VERSION

NUMBER

索引の内部バージョン番号です。

SDO_INDEX_GEODETIC

VARCHAR2

索引が測地索引の場合はTRUE、測地索引でない場合はFALSEです。

SDO_INDEX_STATUS

VARCHAR2

(Oracleで使用するために予約されています。)

SDO_NL_INDEX_TABLE

VARCHAR2

索引の非リーフ・ノードに対する個別の索引表の名前(名前の形式はMDNT_...$)です。詳細は、「空間データを索引付けするためのSQL文」CREATE INDEX文のsdo_non_leaf_tblパラメータの説明を参照してください。

SDO_DML_BATCH_SIZE

NUMBER

コミット操作後に、それぞれの更新バッチで処理する索引更新数です。詳細は、「空間データを索引付けするためのSQL文」CREATE INDEX文のsdo_dml_batch_sizeパラメータの説明を参照してください。

SDO_RTREE_EXT_XPND

NUMBER

(将来使用するために予約済)

SDO_NUM_ROWS

NUMBER

空間実表(この索引が作成された列を含む表)の(NULL以外のジオメトリを含む)行数です。

SDO_NUM_BLKS

NUMBER

空間索引表(SDO_INDEX_TABLE)内のブロックの数を指定します。

SDO_ROOT_MBR

SDO_GEOMETRY

空間レイヤーの最大エクステントに対する最小境界矩形です。これは、現在のエクステントのMBRに等しいかまたは大きくなります。索引が再構築されると、現在のエクステントを反映するように再設定されます。

2.10.2 空間索引表の定義

Rツリー索引の場合、空間索引表(「xxx_SDO_INDEX_METADATAビュー」に示すSDO_INDEX_TABLEの各エントリ)には、表2-13に示す列が含まれます。

表2-13 Rツリー空間索引データ表の列

列名 データ型 用途

NODE_ID

NUMBER

ツリーのこのノードに対する一意のID番号です。

NODE_LEVEL

NUMBER

ツリー内のノードのレベルです。リーフ・ノード(エントリが実表のデータ項目を指すノード)はレベル1、その親ノードはレベル2などのようになります。

INFO

BLOB

ノード内のその他の情報です。<child_mbr, child_rowid>のペア(fanoutの最大値、または各Rツリー・ノード内のペアの子の数)の配列が含まれます。ここで、child_rowidは子ノードのROWID、または実表のデータ項目のROWIDです。

2.10.3 Rツリー索引における順序オブジェクト

各Rツリー空間索引表は、それぞれ関連付けられた順序オブジェクト(「xxx_SDO_INDEX_METADATAビュー」に示すUSER_SDO_INDEX_METADATAビューのSDO_RTREE_SEQ_NAME列を参照)を持ちます。順序によって、複数の同時ユーザーによる索引の同時更新が可能になります。

順序名は、アンダースコアの前にある「T」「S」に置き換えた索引表名です。たとえば、索引表MDRT_5C01$は、順序オブジェクトMDRS_5C01$に関連付けられます。