15.1.1 コスト情報の収集
HADBサーバが表の検索処理を最適化するために使用する情報をコスト情報といいます。adbgetcstコマンドを実行すると,表およびインデクスのコスト情報をシステム表(実表)に格納できます。コスト情報がすでにシステム表(実表)に格納されている場合は,格納されているコスト情報を更新します。これらの処理をコスト情報収集処理といいます。
コスト情報収集処理の概要を次の図に示します。
- [説明]
-
adbgetcstコマンドを実行すると,表およびインデクスからコスト情報を収集して,システム表(実表)に格納します。表およびインデクスのコスト情報がすでにシステム表(実表)に格納されている場合は,格納されているコスト情報を更新します。
なお,アーカイブ状態のチャンクに関するコスト情報は,コスト情報収集処理の対象外です。
- ■コスト情報の種類
-
adbgetcstコマンドで収集するコスト情報の種類を次に示します。
-
処理対象表に格納されている総行数
ローストア表の場合,この情報の収集時にB-treeインデクスが使用されます。このため,コスト情報を収集するローストア表に対しては,1つ以上の列にB-treeインデクスを定義することを推奨します。
-
処理対象表の各列に格納されているデータの最大値および最小値
この情報の収集時,レンジインデクスまたはB-treeインデクスが使用されます。
-
処理対象表に格納されているデータの特徴(重複度や出現頻度など)
-
コスト情報収集処理で使用するファイルについて説明します。
-
コスト情報収集オプションファイル
adbgetcstコマンドの実行環境を設定するオプションを指定したファイルです。
なお,次の処理のあとには,adbgetcstコマンドを実行してコスト情報をシステム表(実表)に格納することを推奨します。
-
adbimportコマンドを実行して表にデータを格納したあと
-
adbidxrebuildコマンドを実行してインデクスを再作成したあと
-
INSERT文を使用して大量のデータを追加したあと
-
UPDATE文を使用して大量のデータを更新したあと
-
DELETE文を使用して大量のデータを削除したあと
-
複数回に分けて少量のデータを追加,更新または削除したあと