19.2.2 最適化情報の更新
- 〈この項の構成〉
(1) 最適化情報の更新の契機
データベースの状態が変化すると,最適化情報とデータベースの状態が不一致になります。この場合,検索時に最適なアクセスパスを選択できなくなり,検索性能が低下するおそれがあります。そのため,データベースの状態が変化した場合は,最適化情報の更新を検討する必要があります。
データベースの状態が変化する契機を次に示します。
-
大量のデータを追加,更新,又は削除した場合
-
データベース作成ユティリティ(pdload)でデータロードを行った場合
-
インデクスを追加,又は削除した場合
-
データベース再編成ユティリティ(pdrorg)でデータベースを再編成した場合
-
空きページ解放ユティリティ(pdreclaim)で空きページを解放した場合
-
リバランスユティリティ(pdrbal)でハッシュ分割された表のリバランスを行った場合
(2) 最適化情報の更新の手順
最適化情報の更新の手順を次に示します。
- <手順>
-
-
最適化情報の更新が必要かどうかを判断する。
「最適化情報の更新の契機」の内容を参照し,最適化情報を更新する必要があるかどうかを判断してください。
-
現在登録している最適化情報を退避する。
pdgetcstコマンドを使用して,最適化情報パラメタファイルへの最適化情報の退避を実施してください。最適化情報の退避については,「最適化情報パラメタファイルへの最適化情報の退避」を参照してください。
- ポイント
-
最適化情報を更新することで,最適なアクセスパスを選択できるようになり,基本的には最適化の精度は向上します。しかし,場合によっては,最適化情報を更新しても最適化の精度が向上しないこともあります。このとき,最適化情報の更新を元に戻せるようにするため,ここでバックアップとして最適化情報を退避しておきます。
性能が低下するなどの問題が発生した場合は,退避しておいた最適化情報パラメタファイルを使用して,最適化情報を更新前の状態に戻せます。
最適化情報を更新前の状態に戻す手順については,「最適化情報の回復」を参照してください。
コマンド実行例:
現在登録している表USER1.T1の最適化情報を,最適化情報パラメタファイル(c:\tmp\optinfo_20101014)に退避します。
pdgetcst -e c:\tmp\optinfo_20101014 -a USER1 -t T1
-
最適化情報を更新する。
pdgetcstコマンドを使用して,最適化情報の収集,登録を実施してください。これによって,最適化情報が更新されます。
コマンド実行例:
表USER1.T1の最適化情報を更新するために,最適化情報を収集,登録します。
pdgetcst -a USER1 -t T1 -c lvl2
-