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);

ノート:

このサブプログラムは、今後のリリースで非推奨になります。かわりにSEM_APIS.ANALYZE_RDF_GRAPHサブプログラムを使用することをお薦めします。

説明

指定されたモデルのオプティマイザ統計を収集します。

パラメータ

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');