2.5.7 データの登録

<この項の構成>
(1) データの登録方法
(2) 登録・検索同時実行の設定
(3) 分割遅延登録・更新系SQL同時実行の設定

(1) データの登録方法

作成した表にデータを登録するには,操作系SQLのINSERT文を使用します。登録するテキストデータは,HiRDBをセットアップしたときの文字コード,および「付録A 登録する文書(テキストデータ)および文字列データに使用できる文字」に示す文字コードを使用してください。INSERT文の詳細については,マニュアル「HiRDB Version 9 SQLリファレンス」を参照してください。

INSERT文の指定例を次の図に示します。

図2-37 INSERT文の指定例

[図データ]

また,HiRDBの「pdload(データベース作成ユティリティ)」を使用すると,データの一括登録ができます。

なお,SQLによるSGML文書登録時にSGML文書のエラーを検知しても,トランザクションはロールバックしません。SGML文書のエラーが発生した場合,SQL(INSERT文またはUPDATE文)による登録のときは,SQLCODE = -997のエラーとなります。なお,エラーコード詳細化指定をしている場合は,SQLCODE = -3040のエラーとなります。

また,pdloadによる登録の場合は,該当する行の登録がスキップされます。

なお,文書検索プラグインを使用してSGML文書を登録する場合,HiRDBのユーザLOB用RDエリアにデータを登録する場合よりも時間が掛かります。これは,登録時に,SGML文書の構造解析処理を実行して,全文検索をするための文書構造インデクスを作成するためです。登録に掛かる時間は,文書長,DTDの内容,および文書構造の複雑さに依存して変化します。

(2) 登録・検索同時実行の設定

登録・検索同時実行を設定すると,データの登録と検索の同時実行ができます。同時実行には次の利点があります。

ただし,同時実行できるのは次の場合です。

(a) 指定方法

文書検索プラグインの環境設定項目,およびHiRDBのバックエンドサーバ定義またはシングルサーバ定義に,次の内容を設定します。Text Search Plug-inの環境設定項目については,「2.6 文書検索プラグインのユーザ環境設定」を参照してください。また,HiRDBのバックエンドサーバ定義またはシングルサーバ定義の詳細については,マニュアル「HiRDB Version 9 システム定義」を参照してください。

文書検索プラグインの環境設定項目
  • SGMLプラグインを使用している場合
    SGMLプラグインの環境設定項目「登録・検索同時実行指定」で次のように指定します。

  set phs_search_wait=nowait

  • n-gramインデクスプラグインを使用している場合
    n-gramインデクスプラグインの環境設定項目「1RDエリア当たりの排他制御用共用メモリサイズ」で次のように指定します。

  set phn_lock_pool_size=共用メモリサイズ[キロバイト]

HiRDBのバックエンドサーバ定義またはシングルサーバ定義
  • n-gramインデクスプラグインを使用している場合
    n-gramインデクスプラグインで使用する共用メモリのサイズを指定します。
    HiRDBのバックエンドサーバ定義またはシングルサーバ定義のオペランド「pdplgprm」は,次の形式で指定してください。
オペランドの指定形式

pdplgprm  -n  プラグイン名  -s  共用メモリサイズ

引数
-n プラグイン名
共用メモリを使用するプラグインの名称を指定します。ここでは,n-gramインデクスプラグインのプラグイン名「_phngram」を指定してください。
-s 共用メモリサイズ
n-gramインデクスプラグインで使用する共用メモリのサイズ(キロバイト)を指定します。
(b) 注意事項

(3) 分割遅延登録・更新系SQL同時実行の設定

分割遅延登録・更新系SQL同時実行を使用すると,(2)で説明した登録・検索同時実行の機能に加えて,さらに,データ登録とインデクス作成を同時に実行できます。

(a) 指定方法

SGMLプラグインの環境設定項目「登録・検索同時実行」に,次のように指定します。

set phs_search_wait=nowait_with_update

(b) 注意事項