スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

17.5.1 外部サーバ検索処理(予測)情報

外部表へのアクセスを含む問合せの場合,アクセスパス情報は自HiRDB検索処理情報と,外部サーバ検索処理(予測)情報に分かれます。

HiRDBは,まず外部サーバ内でのアクセスパスを予測して外部サーバ検索処理(予測)情報を求めます。次に,この予測に基づいて,自HiRDB検索処理情報を決定します。

外部サーバ検索処理(予測)情報は,自HiRDB検索処理情報を決定するためにHiRDBが予測しているもので,実際に外部のDBMSで検索に使用するアクセスパスではありません。外部のDBMSでのアクセスパス情報を取得する場合には,外部のDBMSで取得する必要があります。外部のDBMSがHiRDBの場合,外部サーバ定義のPDVWOPTMODEオペランドに1又は2を指定して,SQLを実行するとアクセスパス情報ファイルを取得できます。

 
 --------- FOREIGN SERVER(PREDICTION) : aa...a ---------
  Derived Table  :bb...b
  Foreign Server :cc...c(dd...d) [ee...e ff...f]
  SQL            :gg...g
  Table Mapping  :hh...h(hh...h) [ii...i(ii...i)],...
  Var Mapping    :jj...j[kk...k],...
  Foreign Cost   :SERVER-ll...l,COMM-mm...m
  ----- QUERY EXPRESSION BODY ID : ... -----   ...........1
    :
  ----- QUERY ID : ... -----   ...........................2
    :
  JOIN   .................................................3
    :
  SCAN   .................................................4
    :
 

[説明]
  1. 集合演算情報です。集合演算情報については,「17.5.2 集合演算処理情報」を参照してください。
  2. 問合せ処理情報です。問合せ処理情報については,「17.5.3 問合せ処理情報」を参照してください。
  3. 結合処理情報です。結合処理情報については,「17.5.4 結合処理情報」を参照してください。
  4. 実表検索処理情報です。実表検索処理情報については,「17.5.5 実表検索処理情報」を参照してください。

aa...a:
外部表へのアクセスを含む問合せのアクセス番号を表示します。アクセス番号は,外部サーバ検索処理(予測)情報ごとに1から順に割り当てられます。

bb...b:
外部サーバから検索した結果に対して,内部的に作成する表名"(FOREIGNSQL 表番号)"を表示します。表番号は,3けたの整数で1から順に割り当てられます。

cc...c(dd...d) [ee...e ff...f]:
外部サーバ,及び外部のDBMSの情報を表示します。
cc...c:
外部サーバ名を表示します。
dd...d:
外部サーバにアクセスするために割り当てられているバックエンドサーバの名称を表示します。
ee...e:
外部のDBMSのサーバ種別を表示します。
ff...f:
外部サーバ定義時に指定した,外部のDBMSのサーババージョンを表示します。

gg...g:
外部サーバに対して発行するSQLを表示します。
SQL中には,外部のDBMSの形式に合わせて表示するものと,外部のDBMSの形式に合わせないで表示するものがあります。
外部のDBMSの形式に合わせて表示するもの:
  • 表識別子の名称
    表識別子の名称は,実際に外部のDBMSで定義されている表識別子の名称に変換して表示します。外部サーバに定義した表識別子と,外部のDBMSに定義されている表識別子が異なる場合,表識別子の対応関係を"Table Mapping"に表示します。
  • 変数
    埋込み変数,?パラメタ,SQL変数,SQLパラメタ,USER,CURRENT_DATE,CURRENT_TIME,及びCURRENT_TIMESTAMPは,外部のDBMSの変数の形式に変換して表示します。
    ほかの外部表の列を含む条件を指定している場合,結合方式によってはほかの外部表の列を変数に変換して表示することがあります。
    変換前と変換後の変数の対応関係は"Var Mapping"に表示します。
    変数は,外部のDBMSがORACLEの場合は":?番号"を,それ以外の場合は"?"を表示します(?番号は,外部サーバに対して発行するSQL文にある":?番号"を,1を開始値として左から出現順に番号を付けたものです)。
外部のDBMSの形式に合わせないで表示するもの:
実際に検索をする場合には,外部のDBMSで使用できる形式に合わせて変換したSQLを,外部サーバに対して発行します。
  • 排他オプション
    排他オプションを必要に応じて与えます。排他オプションは,HiRDBで使用できる形式で表示します。
  • 更新オプション
    更新オプション(FOR READ ONLY,FOR UPDATE句)を必要に応じて付加しますが,HiRDBで使用できる形式で表示します。

hh...h(hh...h)[ii...i(ii...i)],...:
外部サーバに対して発行するSQL中に含まれる表識別子hh...h,相関名(hh...h)と,自HiRDBに対して発行したSQL中に含まれる表識別子ii...i,相関名(ii...i)との対応関係を表示します。相関名を使用しない場合には,"(hh...h)"及び"(ii...i)"は表示しません。
表が複数ある場合は,コンマで区切って表示します。
表識別子が同じ場合(相関名を使用している場合は相関名も同じとき),対応関係は表示しません。

jj...j[kk...k],...:
外部サーバに対して発行するSQL中に含まれる変数jj...jと,自HiRDBに対して発行したSQL中に含まれる埋込み変数,?パラメタ,SQL変数,SQLパラメタ,USER,CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,及び列指定kk...kとの対応関係を表示します。
複数ある場合にはコンマで区切って表示します。
変数jj...jは,外部のDBMSがORACLEの場合は":?番号"を,それ以外の場合は"?(?番号)"を表示します(?番号は,外部サーバに対して発行するSQL文にある":?番号"を,1を開始値として左から出現順に番号を付けたものです)。
kk...kは,通常はSQLに指定したとおりに表示しますが,埋込み変数及び?パラメタの場合には"?(?番号)"を表示します(?番号は,自HiRDBに対して発行したSQL文にある埋込み変数及び?パラメタを,1を開始値として左から出現順に番号を付けたものです)。

SERVER-ll...l,COMM-mm...m:
外部サーバへのアクセスに伴うコストの予測値を表示します。
ll...l:
外部サーバ内処理コストの予測値を表示します。
mm...m:
外部サーバから自HiRDBへの通信コストの予測値を表示します。