15.19 SEM_APIS.ANALYZE_MODEL
形式
SEM_APIS.ANALYZE_MODEL( model_name IN VARCHAR2, estimate_percent IN NUMBER DEFAULT to_estimate_percent_type (get_param('ESTIMATE_PERCENT')), method_opt IN VARCHAR2 DEFAULT get_param('METHOD_OPT'), degree IN NUMBER DEFAULT to_degree_type(get_param('DEGREE')), cascade IN BOOLEAN DEFAULT to_cascade_type(get_param('CASCADE')), no_invalidate IN BOOLEAN DEFAULT to_no_invalidate_type (get_param('NO_INVALIDATE')), force IN BOOLEAN DEFAULT FALSE), network_owner IN VARCHAR2 DEFAULT NULL, network_name IN VARCHAR2 DEFAULT NULL);
説明
指定されたモデルのオプティマイザ統計を収集します。
パラメータ
- model_name
-
モデルの名前。
- estimate_percent
-
モデルの情報を含む内部表パーティション内の、評価される行の割合(
NULL
は計算を意味します)。有効なレンジは、[0.000001,100]です。定数DBMS_STATS
.AUTO_SAMPLE_SIZE
を使用すると、有効な統計を生成するための適切なサンプル・サイズがOracleにより決定されます。これが通常のデフォルトです。 - method_opt
-
モデルの情報を含む内部表パーティションに対して、次のいずれかのオプション(または両方の組合せ)を受け入れます。
-
FOR ALL [INDEXED | HIDDEN] COLUMNS
[size_clause]
-
FOR COLUMNS
[size clause] column|attribute [size_clause] [,column|attribute [size_clause]...]
size_clause
は、size_clause := SIZE {integer | REPEAT | AUTO | SKEWONLY}
として定義されます。column
は、column := column_name | (extension)
として定義されます。- integer
: ヒストグラム・バケット数。範囲は[1,254]である必要があります。- REPEAT
: すでにヒストグラムがある列に対してのみ、ヒストグラムを収集します。- AUTO
: 列のデータ分布とワークロードに基づいて、ヒストグラムを収集する列が決まります。- SKEWONLY
: 列のデータ分布に基づいてヒストグラムを収集する列が決まります。- -
column_name
: 列の名前。 - -
extension: 式または
(column_name
,column_name
[, ...])の形式で指定された列グループ。
通常のデフォルトは、
FOR ALL COLUMNS SIZE AUTO
です。 -
- degree
-
モデルの情報を含む内部表パーティションの索引に関する並列度です。通常、
degree
のデフォルト値はNULL
で、CREATE TABLE
文またはALTER TABLE
文のDEGREE
句で指定された表のデフォルト値が使用されます。初期化パラメータに基づいてデフォルト値を指定するには、定数DBMS_STATS.DEFAULT_DEGREE
を使用します。値にAUTO_DEGREE
を指定すると、並列度が自動的に決定されます。オブジェクトのサイズに応じて、1(シリアル実行)またはDEFAULT_DEGREE
(CPU数と初期化パラメータに基づくシステム・デフォルト値)になります。 - cascade
-
モデルの情報を含む内部表パーティションの索引に関する統計を収集します。定数
DBMS_STATS.AUTO_CASCADE
を使用すると、索引統計を収集するかどうかがOracleにより決定されます。これが通常のデフォルトです。 - no_invalidate
-
TRUE
に設定した場合、依存カーソルは無効化されません。FALSE
に設定した場合、依存カーソルは即時に無効化されます。DBMS_STATS
.AUTO_INVALIDATE
.を使用すると、従属カーソルを無効化するかどうかがOracleにより決定されます。これが通常のデフォルトです。 - force
-
TRUE
に設定すると、モデルがロックされている場合でも統計が収集されます。FALSE
(デフォルト)に設定すると、モデルがロックされている場合は統計が収集されません。 - network_owner
-
セマンティク・ネットワークの所有者。(表1-2を参照してください。)
- network_name
-
セマンティク・ネットワークの名前。(表1-2を参照してください。)
使用に関するノート
クラスタ、ドメインおよび結合索引を除いて、索引統計コレクションはパラレル化できます。
このプロシージャは、モデルに関する情報を含む内部表パーティションのオプティマイザ統計を収集するDBMS_STATS.GATHER_TABLE_STATSプロシージャを内部的にコールします。DBMS_STATS.GATHER_TABLE_STATSプロシージャについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。
「セマンティク・モデルおよびセマンティク・ネットワークの統計の管理」を参照してください。
セマンティク・ネットワークのタイプおよびオプションの詳細は、「RDFネットワーク」を参照してください。
例
次の例では、セマンティク・モデルfamily
の統計を収集します。
EXECUTE SEM_APIS.ANALYZE_MODEL('family');
親トピック: SEM_APISパッケージのサブプログラム