スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
16.5 規則及び注意事項
- pdgetcstは,HiRDBが稼働中のときだけ実行できます。
- pdgetcstは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
- 最適化情報パラメタファイルに抽象データ型の列は指定できません。
- pdgetcstで収集した最適化情報は,pdgetcst実行後からSQLの最適化処理で使用できるようになります。
- pdgetcstを実行して登録した最適化情報と実際のデータベースの状態が一致していないと,適切なアクセスパスを選択できないため,性能が劣化することがあります。データベースの状態が変わるSQLを実行した場合は,pdgetcstを実行して最適化情報と一致させてください。
- 本番環境とテスト環境がある場合,表の行数,データ値の分布が同じ最適化情報になるようにしてください。ただし,最適化情報収集レベルがlvl1の場合は,表の行数を同じにするだけでよいです。
- pdgetcstを実行する場合,データディクショナリ用RDエリアは閉塞解除状態かつオープン状態でなければなりません。
- pdgetcstの処理対象となる表,インデクスが格納されているRDエリアの状態によって,そのRDエリアに対するpdgetcstの実行可否が決まります。pdgetcstの実行可否については,「付録C コマンド実行時のRDエリアの状態」を参照してください。
- 出力結果ファイルと最適化情報パラメタファイルについては,HiRDB管理者に対してアクセス権限を与えておく必要があります。
- pdgetcstを実行する場合,LANG環境変数を設定してください。また,pdgetcstの実行環境で,OSがサポートしていない文字コードを使用する場合,PDLANG環境変数を設定する必要があります。LANG,及びPDLANGについては,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
- pdgetcstのリターンコードを次に示します。
0:正常終了
4:正常終了(ディクショナリ表操作で警告発生)
8:異常終了
- pdgetcstの実行中に,処理対象の表及びインデクスの定義変更はしないでください。定義を変更した場合は,HiRDBの動作が保証されません。
- pdgetcstの実行中に,処理対象の表に対して行の挿入,削除,又はデータの更新をした場合,最適化情報に誤差が生じることがあります。
- pdgetcstは,表にデータがある状態で実行してください。表定義直後など,データが1件もない状態で実行すると,正しいコスト情報を取得できません。
- 最適化情報パラメタファイルに記述されている,文字列の文字コードがHiRDBシステムで使用されている文字コードと異なる場合,pdgetcstの動作は保証しません。
- 同一の表に対して最適化情報の収集(-dオプション指定なし)と最適化情報の削除(-dオプション指定あり)を,同時に実行しないでください。同時に実行した場合,HiRDBの動作は保証されません。
- pdgetcstがエラー終了した場合,HiRDBの動作は保証されません。出力されているエラーメッセージを参照してエラー要因を取り除き,再度pdgetcstを実行してください。コマンドを再実行してもエラーが続く場合の処理は,マニュアル「HiRDB Version 8 システム運用ガイド」の「pdgetcstが異常終了した時の注意事項」を参照してください。
- pdgetcstを実行するとアクセス手順が変更になるので,実際のデータ特性が最適化情報と一致していないときは,性能が劣化することもあります。したがって,pdgetcstを実行する場合には,十分にテストをするようにしてください。
- 本番環境とテスト環境がある場合で,本番環境で最適化情報を取得するときは,テスト環境と同等の最適化情報を取得するため,テスト環境及び本番環境でデータ件数,データ値の分布は同じにしてください。
(3) BOMを持つファイルの使用
pdsetupコマンドで文字コードとしてutf-8を選択した場合,pdgetcstの最適化情報パラメタファイルには,BOMを持つファイルを使用できます。なお,pdgetcstの最適化情報パラメタファイルとしてBOMを持つファイルを使用しても,BOMは読み飛ばされます。また,pdgetcstで出力されるファイルにはBOMは付きません。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.