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

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

8.6.1 使用例

データベース再編成ユティリティの使用例の一覧(インデクスの一括作成)を次に示します。

使用例 内容 区分
例1 インデクスの一括作成
  • 表の再編成の例2で出力されたインデクス情報ファイルを基に,インデクスを一括作成します。
S
例2 プラグインインデクスの遅延一括作成
  • 抽象データ型(SGMLTEXT型)がある表に定義されている,プラグインインデクスの遅延一括作成をします。
例3 インデクスの一括作成
  • データベース作成ユティリティ実行時(インデクス情報出力モード)に出力されたインデクス情報ファイルを使用するものとします。
P

(凡例)
S:HiRDB/シングルサーバ
P:HiRDB/パラレルサーバ
<この項の構成>
(1) インデクスの一括作成
(2) プラグインインデクスの遅延一括作成
(3) インデクスの一括作成

(1) インデクスの一括作成

例1

表の再編成の例2で出力された,インデクス情報を基にしてインデクス(INDEX2)を一括作成します。
出力されているインデクス情報ファイルの名称は,/usr/index_inf2とします。
また,PDBUSER02のインデクス情報は既に/usr/index_inf4に取得したものとします。
表(TABLE1),及びインデクスは次のように定義されているものとします。
  • 表の定義
  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),(PDBUSER04))
  • インデクスの定義(非分割キーインデクス)
  CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN (PDBUSER05)

[概要]
[図データ]

[入出力ファイルとRDエリアの関連図]
[図データ]

[実行するコマンドの説明]
インデクス情報を基にして,インデクス(INDEX2)の一括作成をします。
-k ixmk:インデクスの一括作成をするときの指定
-t TABLE1:インデクスの一括作成対象の表の名称
-o:インデクス作成完了後,不要となったインデクス情報ファイルを削除する指定
control_file:制御情報ファイルの名称

[制御情報ファイル(control_file)の内容]
 
 index INDEX2 PDBUSER05 /usr/index_inf2                  1
 index INDEX2 PDBUSER05 /usr/index_inf4                  1
 sort /usr/sortwork,8192                                 2
 
[説明]
  1. インデクス情報があるインデクス情報ファイルの指定
    INDEX2:インデクス識別子
    PDBUSER05:インデクスが格納されているRDエリアの名称
    /usr/index_inf2,/usr/index_inf4:インデクス情報ファイルの名称
  2. ソート用ワークディレクトリの指定
    /usr/sortwork:ソート用ワークファイルを作成するディレクトリの名称
    8192:ソート用バッファサイズ(単位:キロバイト)

(2) プラグインインデクスの遅延一括作成

例2

抽象データ型(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
なお,インデクス情報ファイルは,次に示す定義内容のときに更新系(INSERT文やUPDATE文)のUAPを実行して作成されたものです。
  • サーバ定義:set pd_plugin_ixmk_dir="/hd001/ixdir"
  • クライアント環境変数:setenv PDPLGIXMK YES

[概要]
[図データ]

[入出力ファイルとRDエリアの関連図]
[図データ]

[実行するコマンドの説明]
表(TABLE1)に定義されたプラグインインデクス(INDEX1)を,遅延一括作成します。
-k ixmk:インデクスの一括作成をするときの指定
-t TABLE1:インデクスの一括作成対象の表の名称
control_file:制御情報ファイルの名称

[制御情報ファイル(control_file)の内容]
 
 index INDEX1 LOBUSER02 /hd001/ixdir/INDEX1.LOBUSER02               1
 
[説明]
  1. 遅延一括作成するインデクス情報ファイルの指定
    INDEX1:遅延一括作成するプラグインインデクスのインデクス識別子
    LOBUSER02:遅延一括作成するプラグインインデクスのインデクス格納RDエリアの名称
    /hd001/ixdir/INDEX1.LOBUSER02:インデクス情報ファイルの名称

(3) インデクスの一括作成

例3

インデクス情報ファイルを基にして,インデクスを一括作成します。データベース作成ユティリティ実行時(インデクス情報出力モードでデータロード)に出力したインデクス情報ファイル4個を使用するものとします。
表,及びインデクスは次のように定義されているものとします。
  • 表の定義
  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エリアの関連図]
[図データ]

[実行するコマンドの説明]
データロード時に出力されたインデクス情報を基にして,インデクスの一括作成をします。
-k ixmk:インデクスの一括作成をするときの指定
-t TABLE1:インデクスの一括作成対象の表の名称
control_file:制御情報ファイルの名称

[制御情報ファイル(control_file)の内容]
 
 index INDEX1 PDBUSER03 /usr/index_inf1          1
 index INDEX2 PDBUSER04 /usr/index_inf2          1
 index INDEX1 PDBUSER05 /usr/index_inf3          1
 index INDEX2 PDBUSER06 /usr/index_inf4          1
 sort bes1 /usr/sortwork,8192                    2
 sort bes2 /usr/sortwork,8192                    2
 
[説明]
  1. インデクス情報があるインデクス情報ファイルの指定
    INDEX1,INDEX2:インデクス識別子
    PDBUSER03,PDBUSER04,PDBUSER05,PDBUSER06:インデクスが格納されているRDエリアの名称
    /usr/index_inf1,/usr/index_inf2,/usr/index_inf3,/usr/index_inf4:インデクス情報ファイルの名称
  2. ソート用ワークディレクトリの指定
    bes1,bes2:ソート用ワークファイルを作成するサーバの名称
    /usr/sortwork:ソート用ワークファイルを作成するディレクトリの名称
    8192:ソート用バッファサイズ(単位:キロバイト)