ページの先頭行へ戻る
Symfoware Server V12.7.0 RDB運用ガイド(XMLアダプタ編)
FUJITSU Software

A.2 CREATE DSI文

機能

表に付加するインデックスのデータを格納する領域を、データベーススペースに割り付けるために、DSIを定義します。

記述形式

一般規則

DSI名
  • 作成するインデックスのDSIの名前を指定します。

  • DSI名は、36文字以内の先頭が英字で始まる英数字、または18文字以内の日本語文字列を指定します。

  • DSI名は、データベース内で一意の名前であることが必要です。

DSO名
  • インデックスのDSI定義の対象とする表について、定義済であるインデックスのDSOの名前を指定します。

BASE
  • インデックスのDSIを定義する表に、分割条件を指定した表のDSOを定義している場合、BASEオペランドを指定します。そうでない場合には、BASEオペランドは指定できません。BASEオペランドのDSI名には、インデックスを作成する表に対して定義済である、表のDSIの名前を指定します。このとき、インデックスのDSIは、ここで指定した表のDSIに対応するインデックスのデータの格納領域を定義します。

割付け対象(BASEおよびINDEX)
  • 割付け対象には、BASEとINDEXを指定します。

  • スペース割付け句で指定する割付け対象の意味を以下に示します。

    表A.1 インデックスのDSIに指定する割付け対象

    指定する割付け対象

    意味(注)

    BASE

    インデックスのDSIの、データ部にスペースを割り付ける。

    INDEX

    インデックスのDSIの、インデックス部にスペースを割り付ける。

    注)データ部およびインデックス部の構造については、“RDB運用ガイド(データベース定義編)”および“2.2.1 XMLデータのインデックスの格納構造”を参照してください。

割付け先(ON)
  • 1つの割付け要素について、同じデータベーススペースを2回以上指定することはできません。

データベーススペース名
  • インデックスのデータを格納するデータベーススペースの名前を指定します。

  • 1つのDSIの割付け対象の割付け先として指定するデータベーススペース名は、同じロググループのデータベーススペースでなければなりません。また、関連する表のDSIで割り付けたデータベーススペースと同じロググループを使用するものでなければなりません。

割付け量(SIZE)
  • 割付け量には、データベーススペース中に獲得する格納領域の大きさを、符号なし整数と単位記号(KまたはM)の組合せで指定します。指定した値はページ長の整数倍に切り上げます。単位記号Kはキロバイト、単位記号Mはメガバイトを示します。1キロバイトは1024バイト、1メガバイトは1024キロバイトです。

  • インデックスのDSIのデータ部およびインデックス部に対する割付け量は、DSO名を指定したDSOに対してXMLグループ定義を定義していない場合は、それぞれのページ長の2倍以上を指定することが必要です。たとえば、データ部のページ長が2キロバイトの場合、データ部に対する割付け量は4キロバイト以上になるように指定します。インデックス部のページ長が1キロバイトの場合は、インデックス部に対する割付け量は2キロバイト以上になるように指定します。

  • DSO名を指定したDSOに対してXMLグループ定義を定義している場合は、インデックスのDSIのデータ部およびインデックス部に対する割付け量は、それぞれのページ長の(1+パス定義の個数)倍以上を指定することが必要です。パス定義の個数とは、DSOに対して定義しているすべてのXMLグループ定義のそれぞれで、指定しているパス定義の個数をすべて足したものとします。

  • 割付け量を省略した場合のインデックスのDSIのデータ部およびインデックス部に対する割付け量は、それぞれDSO定義時のページ長の84倍とデータ部の割付け量の1/5倍になります。

使用例

XMLインデックスのDSO“伝票IXDSO”に対してDSIを定義

CREATE DSI  伝票IXDSI1  INDEX  DSO  伝票IXDSO
              BASE  伝票表DSI1
              ALLOCATE  BASE   ON  DBSP_1  SIZE  200K,
                        INDEX  ON  DBSP_1  SIZE   40K;