書式
SDO_TUNE.EXTENT_OF( table_name IN VARCHAR2, column_name IN VARCHAR2, use_index VARCHAR2 default 'TRUE' ) RETURN SDO_GEOMETRY;
パラメータ
使用上の注意
SDO_AGGR_MBRファンクションも、ジオメトリのMBRを戻します(「空間集計ファンクション」を参照)。空間索引がジオメトリ列上に定義されている場合、SDO_TUNE.EXTENT_OFファンクションは、SDO_AGGR_MBRファンクションよりも高いパフォーマンスを示します。ただし、SDO_TUNE.EXTENT_OFは2次元ジオメトリに制限されるのに対し、SDO_AGGR_MBRファンクションにはその制限がありません。また、SDO_TUNE.EXTENT_OFファンクションは表内のすべてのジオメトリに対するエクステントを計算しますが、SDO_AGGR_MBRファンクションは、行のサブセット上での操作が可能です。
空間索引が使用されている場合、このファンクションは、索引内に保存されているデータの最大エクステントを囲むMBRの近似値を戻します(データがその後削除されていた場合も同様です)。
use_index
のデフォルトの値のTRUE
はほとんどの場合で最適ですが、FALSE
を指定することが必要な場合もあります。空間索引は実際のデータ・エクステントより大きいエクステントを持つことがあります。これは、DML操作により、エッジの周囲のデータが削除されると、結果として、実際のエクステントが小さくなりますが、そのような削除操作では索引エクステントは削減されないためです。このような場合に、実際のデータ・エクステントが必要であれば、use_index=>'FALSE'
を指定します。ただし、FALSE
を指定すると表全体のスキャンが必要になるので、ファンクションのパフォーマンスに重大な影響を及ぼす可能性があることに注意する必要があります。
例
次の例では、COLA_MARKETS表のSHAPE列のオブジェクトについて最小境界矩形を計算します。
SELECT SDO_TUNE.EXTENT_OF('COLA_MARKETS', 'SHAPE') FROM DUAL; SDO_TUNE.EXTENT_OF('COLA_MARKETS','SHAPE')(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, -------------------------------------------------------------------------------- SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARRAY(1, 1, 10, 11))