9.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;
/