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

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

16.5 規則及び注意事項

<この節の構成>
(1) 規則
(2) 注意事項
(3) BOMを持つファイルの使用

(1) 規則

  1. pdgetcstは,HiRDBが稼働中のときだけ実行できます。
  2. pdgetcstは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
  3. 最適化情報パラメタファイルに抽象データ型の列は指定できません。
  4. pdgetcstで収集した最適化情報は,pdgetcst実行後からSQLの最適化処理で使用できるようになります。
  5. pdgetcstを実行して登録した最適化情報と実際のデータベースの状態が一致していないと,適切なアクセスパスを選択できないため,性能が劣化することがあります。データベースの状態が変わるSQLを実行した場合は,pdgetcstを実行して最適化情報と一致させてください。
  6. 本番環境とテスト環境がある場合,表の行数,データ値の分布が同じ最適化情報になるようにしてください。ただし,最適化情報収集レベルがlvl1の場合は,表の行数を同じにするだけでよいです。
  7. pdgetcstを実行する場合,データディクショナリ用RDエリアは閉塞解除状態かつオープン状態でなければなりません。
  8. pdgetcstの処理対象となる表,インデクスが格納されているRDエリアの状態によって,そのRDエリアに対するpdgetcstの実行可否が決まります。pdgetcstの実行可否については,「付録C コマンド実行時のRDエリアの状態」を参照してください。
  9. 出力結果ファイルと最適化情報パラメタファイルについては,HiRDB管理者に対してアクセス権限を与えておく必要があります。
  10. pdgetcstを実行する場合,LANG環境変数を設定してください。また,pdgetcstの実行環境で,OSがサポートしていない文字コードを使用する場合,PDLANG環境変数を設定する必要があります。LANG,及びPDLANGについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

(2) 注意事項

  1. pdgetcstのリターンコードを次に示します。
    0:正常終了
    4:正常終了(ディクショナリ表操作で警告発生)
    8:異常終了
  2. pdgetcstの実行中に,処理対象の表及びインデクスの定義変更はしないでください。定義を変更した場合は,HiRDBの動作が保証されません。
  3. pdgetcstの実行中に,処理対象の表に対して行の挿入,削除,又はデータの更新をした場合,最適化情報に誤差が生じることがあります。
  4. pdgetcstは,表にデータがある状態で実行してください。表定義直後など,データが1件もない状態で実行すると,正しいコスト情報を取得できません。
  5. 最適化情報パラメタファイルに記述されている,文字列の文字コードがHiRDBシステムで使用されている文字コードと異なる場合,pdgetcstの動作は保証しません。
  6. 同一の表に対して最適化情報の収集(-dオプション指定なし)と最適化情報の削除(-dオプション指定あり)を,同時に実行しないでください。同時に実行した場合,HiRDBの動作は保証されません。
  7. pdgetcstがエラー終了した場合,HiRDBの動作は保証されません。出力されているエラーメッセージを参照してエラー要因を取り除き,再度pdgetcstを実行してください。コマンドを再実行してもエラーが続く場合の処理は,マニュアル「HiRDB Version 8 システム運用ガイド」の「pdgetcstが異常終了した時の注意事項」を参照してください。
  8. pdgetcstを実行するとアクセス手順が変更になるので,実際のデータ特性が最適化情報と一致していないときは,性能が劣化することもあります。したがって,pdgetcstを実行する場合には,十分にテストをするようにしてください。
  9. 本番環境とテスト環境がある場合で,本番環境で最適化情報を取得するときは,テスト環境と同等の最適化情報を取得するため,テスト環境及び本番環境でデータ件数,データ値の分布は同じにしてください。

(3) BOMを持つファイルの使用

pdsetupコマンドで文字コードとしてutf-8を選択した場合,pdgetcstの最適化情報パラメタファイルには,BOMを持つファイルを使用できます。なお,pdgetcstの最適化情報パラメタファイルとしてBOMを持つファイルを使用しても,BOMは読み飛ばされます。また,pdgetcstで出力されるファイルにはBOMは付きません。