8.7.1 使用例
データベース再編成ユティリティの使用例の一覧(インデクスの再作成)を次に示します。
使用例 |
内 容 |
区分 |
---|---|---|
例1 |
プラグインインデクスの再作成
|
S |
例2 |
インデクス格納RDエリア単位のインデクスの再作成 |
P |
例3 |
インデクス単位のインデクスの再作成 |
- (凡例)
-
S:HiRDB/シングルサーバ
P:HiRDB/パラレルサーバ
(1) プラグインインデクスの再作成
- 例1
抽象データ型(SGMLTEXT)の列を持つ表(TABLE1)に定義されたプラグインインデクス(INDEX1)を再作成します。抽象データ型(SGMLTEXT)はHiRDB Text Search Plug-inで提供されています。 表,及びインデクスは次のように定義されているものとします。 ・表の定義 CREATE TABLE TABLE1(C1 INT,C2 SGMLTEXT ALLOCATE (SGMLTEXT IN LOBUSER01) PLUGIN'<DTD>sgml.dtd</DTD>' ) IN PDBUSER01 ・プラグインインデクスの定義 CREATE INDEX INDEX1 USING TYPE NGRAM ON TABLE1(C2) IN LOBUSER02
- [概要]
- [入出力ファイルとRDエリアの関連図]
- [実行するコマンドの説明]
-
表(TABLE1)に定義されたプラグインインデクス(INDEX1)を再作成します。
-k ixrc:インデクスの再作成をするときの指定
-t TABLE1:インデクスの再作成対象の表の名称
control_file:制御情報ファイルの名称
- [制御情報ファイル(control_file)の内容]
index INDEX1 LOBUSER02 /usr/index_file 1
- [説明]
-
-
プラグインインデクス情報を出力するインデクス情報ファイルの指定
INDEX1:再作成するプラグインインデクスのインデクス識別子
LOBUSER02:再作成するプラグインインデクスのインデクス格納RDエリアの名称
/usr/index_file:インデクス情報を出力するインデクス情報ファイルの名称
-
(2) インデクス格納RDエリア単位のインデクスの再作成
- 例2
インデクス(INDEX1)をRDエリア単位(PDBUSER03)に再作成します。 表,及びインデクスは次のように定義されているものとします。 ・表の定義 CREATE TABLE TABLE1(C1 INT NOT NULL,C2 CHAR(8),C3 INT) IN ((PDBUSER01) C1 > 10,(PDBUSER02)) ・インデクスの定義(分割キーインデクス) CREATE INDEX INDEX1 ON TABLE1(C1) IN ((PDBUSER03),(PDBUSER05)) ・インデクスの定義(非分割キーインデクス) CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN ((PDBUSER04),(PDBUSER06))
- [概要]
- [入出力ファイルとRDエリアの関連図]
- [実行するコマンドの説明]
-
インデクス(INDEX1,INDEX2)の再作成をします。
-k ixrc:インデクスの再作成をするときの指定
-t TABLE1:インデクスの再作成対象の表の名称
control_file:制御情報ファイルの名称
- [制御情報ファイル(control_file)の内容]
index INDEX1 PDBUSER03 /usr/index_inf1 1 sort bes1 /usr/sortwork 2
- [説明]
-
-
インデクス情報ファイルの指定
INDEX1:インデクス識別子
PDBUSER03:インデクスが格納されているRDエリアの名称
/usr/index_inf1:インデクス情報ファイルの名称
-
ソート用ワークディレクトリの指定
bes1:ソート用ワークファイルを作成するサーバの名称
/usr/sortwork:ソート用ワークファイルを作成するディレクトリの名称
-
(3) インデクス単位のインデクスの再作成
- 例3
横分割表(TABLE1)に定義されたインデクス(INDEX1,INDEX2)を再作成します。 なお,次の表及びインデクスが定義されているものとします。 ・表の定義 CREATE TABLE TABLE1(C1 INT,C2 INT NOT NULL) IN ((PDBUSER01) C2<200,(PDBUSER02) C2<400,(PDBUSER03)) ・インデクスの定義 CREATE INDEX INDEX1 ON TABLE1(C2) IN ((IDX01),(IDX02),(IDX03)) CREATE INDEX INDEX2 ON TABLE1(C1) IN ((IDX04),(IDX05))
- [概要]
(a) 表に定義されているすべてのインデクスを再作成する場合
- [入出力ファイルとRDエリアの関連図]
- [実行するコマンドの説明]
-
インデクス(INDEX1,INDEX2)の再作成をします。
-k ixrc:インデクスの再作成をするときの指定
-t TABLE1:インデクスの再作成対象の表の名称
control_file:制御情報ファイルの名称
- [制御情報ファイル(control_file)の内容]
idxname name=* 1 idxwork bes1 /index/workdir01 2 idxwork bes2 /index/workdir02 2 sort bes1 /usr/sortwork 3 sort bes2 /usr/sortwork 3
- [説明]
-
-
インデクス単位にインデクスの再作成をする指定
*:表(TABLE1)に定義されているすべてのインデクスを再作成する指定
-
インデクス情報ファイルを作成するディレクトリの指定
bes1,bes2:インデクス情報ファイルを作成するサーバの名称
/index/workdir01,/index/workdir02:インデクス情報ファイルを作成するディレクトリの名称
-
ソート用ワークディレクトリの指定
bes1,bes2:ソート用ワークファイルを作成するサーバの名称
/usr/sortwork:ソート用ワークファイルを作成するディレクトリの名称
-
(b) 表に定義されている一つのインデクスを再作成する場合
- [入出力ファイルとRDエリアの関連図]
- [実行するコマンドの説明]
-
インデクス(INDEX1)の再作成をします。
-k ixrc:インデクスの再作成をするときの指定
-t TABLE1:インデクスの再作成対象の表の名称
control_file:制御情報ファイルの名称
- [制御情報ファイル(control_file)の内容]
idxname name=INDEX1 1 idxwork bes1 /index/workdir01 2 idxwork bes2 /index/workdir02 2 sort bes1 /usr/sortwork 3 sort bes2 /usr/sortwork 3
- [説明]
-
-
インデクス単位にインデクスの再作成をする指定
INDEX1:再作成するインデクスの名称
-
インデクス情報ファイルを作成するディレクトリの指定
bes1,bes2:インデクス情報ファイルを作成するサーバの名称
/index/workdir01,/index/workdir02:インデクス情報ファイルを作成するディレクトリの名称
-
ソート用ワークディレクトリの指定
bes1,bes2:ソート用ワークファイルを作成するサーバの名称
/usr/sortwork:ソート用ワークファイルを作成するディレクトリの名称
-