14.2.1 チューニングを行う前に確認すること
ここでは,SQL文やコマンドの実行時間を短縮するチューニングを行う前に確認する内容について説明します。次の2点を見直してください。
- 実表やインデクスを格納するデータ用DBエリアの見直し
-
次の状態であるかどうかを確認してください。
-
1つのデータ用DBエリアには,1つの実表だけが格納されている
対象のデータ用DBエリアに格納されている実表を調べる場合は,「付録B.22 ディクショナリ表の検索」の「(15) DBエリアに格納されている表の表名を調べる場合」を参照してください。
-
1つのデータ用DBエリアには,1つのインデクスだけが格納されている
対象のデータ用DBエリアに格納されているインデクスを調べる場合は,「付録B.22 ディクショナリ表の検索」の「(16) DBエリアに格納されているインデクスのインデクス名を調べる場合」を参照してください。
「5.6.1 データ用DBエリアを設計する際の考慮点」のとおり,1つのデータ用DBエリアに,複数の実表や複数のインデクスが格納されていると,I/Oが集中して性能が低下するおそれがあります。特に,1つのデータ用DBエリアに,ローストア表とカラムストア表を混在して格納しないようにしてください。そのため,1つのデータ用DBエリアには,1つの実表だけ,または1つのインデクスだけを格納するようにしてください。
実表やインデクスが格納されているデータ用DBエリアを見直す場合は,「11.1.18 実表が格納されているデータ用DBエリアを変更する方法」および「11.3.8 インデクスが格納されているデータ用DBエリアを変更する方法」を参照してください。
-
- データ用DBエリアに割り当てるグローバルバッファの見直し
-
1つのデータ用DBエリアに,専用のグローバルバッファを割り当てているかどうかを確認してください。対象のデータ用DBエリアに割り当てているグローバルバッファを確認する場合は,adbls -d gbufコマンドを使用してください。adbls -d gbufコマンドについては,マニュアルHADB コマンドリファレンスのadbls -d gbuf(グローバルバッファの情報表示)を参照してください。
1つのグローバルバッファを複数のデータ用DBエリアに割り当てている場合は,性能が低下するおそれがあります。そのため,1つのグローバルバッファを1つのデータ用DBエリアだけに割り当てるようにしてください。グローバルバッファを見直す場合は,サーバ定義adbbuffオペランドの指定値を変更してください。サーバ定義adbbuffオペランドについては,「7.2.17 グローバルバッファに関するオペランドおよびオプション(コマンド形式)」を参照してください。サーバ定義を変更する方法については,「8.5.2 サーバ定義の変更方法」を参照してください。