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

前
次

30.2 SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE

書式

SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE(
     schemaname IN VARCHAR2, 
     tabname    IN VARCHAR2, 
     colname    IN VARCHAR2, 
     partname   IN VARCHAR2 DEFAULT NULL 
     ) RETURN NUMBER;

または

SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE(
     number_of_geoms IN INTEGER, 
     db_block_size   IN INTEGER, 
     sdo_rtr_pctfree IN INTEGER DEFAULT 10, 
     num_dimensions  IN INTEGER DEFAULT 2,      is_geodetic               IN INTEGER DEFAULT 0 
     ) RETURN NUMBER;

説明

Rツリー空間索引表に必要な最大サイズ(MB)を見積もります。

パラメータ

schemaname

空間ジオメトリ表を所有するスキーマを指定します。

tabname

空間ジオメトリ表の名前を指定します。

colname

ジオメトリ列の名前を指定します。

partname

colnameで指定したジオメトリを含むパーティションの名前を指定します。このパラメータを指定した場合、指定したパーティション内のジオメトリのRツリー索引表に必要なサイズを見積もった値が戻されます。このパラメータを指定しない場合、colnameで指定したすべてのジオメトリのRツリー索引表に必要なサイズを見積もった値が戻されます。

number_of_geoms

空間ジオメトリ表内のジオメトリのおおまかな数を指定します。

db_block_size

データベース・ブロックのサイズをバイト単位で指定します。

sdo_rtr_pctfree

索引の作成時は空にしておく、各索引ツリー・ノードのスロットの最小割合です。空のスロットは、後で表に新しいデータを挿入したときにデータが書き込まれます。値は0から50の範囲です。デフォルト値(10)はほとんどのアプリケーションに最適ですが、0はジオメトリ列が更新されない場合に使用してください。

num_dimensions

索引付けする次元数を指定します。デフォルト値は2です。CREATE INDEX文でsdo_indx_dimsパラメータを指定する場合、num_dimensions値をsdo_indx_dims値と一致させる必要があります。

is_geodetic

空間索引を測地索引にするかどうかを指定します。1を指定した場合は測地索引となり、0(デフォルト)を指定した場合は非測地索引となります。

使用上の注意

このファンクションは、作成されるRツリー空間索引の空間索引表(「空間索引表の定義」を参照)に必要な最大サイズを見積もった値(MB)を戻します。戻される値は、索引作成後に必要な最大サイズ(MB)です。索引作成中は、一時表に十分な領域を確保するために、この値(MB)の約3倍の領域が表領域に必要となります。

このファンクションには、次の2つの形式があります。

  • 文字列パラメータ(schemanametabnamecolnameおよびオプションでpartname)を指定する形式: 空間ジオメトリ表がすでに存在する場合、索引作成前にそれ以上のジオメトリを追加しない場合、およびデフォルトのRツリー索引付けパラメータを使用する場合に使用します。

  • 整数パラメータ(number_of_geomsdb_block_sizesdo_rtr_pctfreenum_dimensionsおよびis_geodetic)を指定する形式: 空間ジオメトリ表が存在しない場合、空間ジオメトリ表は存在するが、索引作成前にそれ以上のジオメトリを追加する場合、num_dimensions値が2(非測地データ)または3(測地データ)ではない場合、CREATE INDEX文のsdo_indx_dimsパラメータでデフォルト以外の値を指定する場合に使用します。

次の例では、索引のパラメータがnumber_of_geoms = 1000000 (100万)、db_block_size = 2048sdo_rtr_pctfree = 10num_dimensions = 2およびis_geodetic = 0である場合に、空間索引表に必要な最大サイズ(MB)を見積もります。

SELECT SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE(1000000, 2048, 10, 2, 0) FROM DUAL;

SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE(1000000,2048,10,2,0)
-----------------------------------------------------
                                                   82

次の例では、SCOTTスキーマのCOLA_MARKETS表のSHAPE列の索引について、空間索引表に必要な最大サイズ(MB)を見積もります。この見積りは現在表内にあるジオメトリに基づきます。

SELECT SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE('SCOTT', 'COLA_MARKETS', 'SHAPE') FROM DUAL;

SDO_TUNE.ESTIMATE_RTREE_INDEX_SIZE('SCOTT','COLA_MARKETS','SHAPE')
---------------------------------------------------------------------
                                                                    1