A.13.11 OPG_APIS.COUNT_TRIANGLE_RENUM
形式
COUNT_TRIANGLE_RENUM( edge_tab_name IN VARCHAR2, wt_undBM IN VARCHAR2, wt_rnmap IN VARCHAR2, wt_undAM IN VARCHAR2, num_sub_ptns IN INTEGER DEFAULT 1, dop IN INTEGER DEFAULT 1, tbs IN VARCHAR2 DEFAULT NULL, options IN VARCHAR2 DEFAULT NULL ) RETURN NUMBER;
説明
その並列度で、グラフの頂点の再番号付けの最適化を使用して、プロパティ・グラフでトライアングル・カウンティングを実行します。
パラメータ
- edge_tab_name
- 
                        プロパティ・グラフ・エッジ表の名前。 
- wt_undBM
- 
                        元のグラフの方向付けのないバージョンを保持する作業表(再番号付けの最適化前)。 
- wt_rnmap
- 
                        再番号付けの最適化前のマッピング表である作業表。 
- wt_undAM
- 
                        再番号付けの最適化の適用後のグラフ・データの方向付けのないバージョンを保持する作業表。 
- num_sub_ptns
- 
                        トライアングルの計算に使用する論理サブパーティションの数。正の整数で2の累乗(1、2、4、8など)である必要があります。比較的低い最大並列度のグラフの場合、値1(デフォルト)を使用します。 
- dop
- 
                        操作の並列度。デフォルトは1(並列度なし)です。 
- tbs
- 
                        作業表に格納されたデータを保持する表領域の名前。 
- options
- 
                        操作に対する追加の設定。次の値が1つ以上含まれる(カンマ区切り)オプションの文字列。 - 
                              PDML=TはパラレルDMLを使用可能にします。
 
- 
                              
使用上のノート
このファンクションによりアルゴリズムの実行は高速になりますが、より多くの領域が必要となります。
プロパティ・グラフ・エッジ表はデータベースに存在している必要があり、OPG_APIS.COUNT_TRIANGLE_PREPプロシージャは実行済である必要があります。
例
次の例は、connectionsという名前のプロパティ・グラフでトライアングル・カウンティングを実行します。終了後にクリーンアップは実行されないので、準備プロシージャをコールせずに同じグラフでトライアングルを再度カウントすることができます。
                  
set serveroutput on
DECLARE
  wt1 varchar2(100);  -- intermediate working table
  wt2 varchar2(100);
  wt3 varchar2(100);
  n number;
BEGIN
  opg_apis.count_triangle_prep('connectionsGE$', wt1, wt2, wt3);
  n := opg_apis.count_triangle_renum(
     'connectionsGE$',
      wt1,
      wt2,
      wt3,
      num_sub_ptns=>1,
      dop=>2,
      tbs => 'MYPG_TS',
      options=>'PDML=T'
      ); 
  dbms_output.put_line('total number of triangles ' || n);
END;
/
親トピック: OPG_APISパッケージのサブプログラム