Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


11.1.5 SQL文の処理時間の短縮

ここでは,サーバ定義およびクライアント定義のadb_sql_exe_max_rthd_numオペランドに指定した最大SQL処理リアルスレッド数の見直しによる処理性能の向上について説明します。

指定した最大SQL処理リアルスレッド数が少ない場合,SQL文の実行時に使用される処理リアルスレッドの数が少なくなるため,SQL文の処理に時間が掛かるおそれがあります。指定した最大SQL処理リアルスレッド数が適切かどうかを確認してください。

サーバ定義adb_sql_exe_max_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sql_exe_max_rthd_numオペランドを参照してください。

クライアント定義adb_sql_exe_max_rthd_numオペランドについては,マニュアル「HADB AP開発ガイド」の「HADBクライアントの環境設定」の「クライアント定義の作成」の「クライアント定義のオペランドの説明」を参照してください。

〈この項の構成〉

(1) SELECT文の処理時間を短縮する方法

SELECT文の処理時間を短縮する手順を次に示します。

手順

  1. SELECT文の実行時間を確認する

    adbstatコマンドを実行して出力される「コネクションの稼働情報」のうち,次に示す情報を確認してください。

    • SELECT_total_time(SELECT文の実行時間)

  2. 最大SQL処理リアルスレッド数を大きくする

    手順1.で確認したSELECT_total_timeに出力された値が大きい場合,SQL文の処理に時間が掛かっているおそれがあります。この場合,サーバ定義およびクライアント定義のadb_sql_exe_max_rthd_numオペランドの指定値を大きくすることで,処理性能が向上することがあります。

    なお,adb_sql_exe_max_rthd_numオペランドの指定値を大きくした場合は,サーバ定義のadb_sys_rthd_numオペランドの指定値も大きくしてください。adb_sql_exe_max_rthd_numオペランドの指定値だけを大きくすると,SQL文の実行待ち状態が発生するおそれがあります。

    また,adb_sql_exe_max_rthd_numオペランドおよびadb_sys_rthd_numオペランドの指定値を変更した場合,必ずHADBサーバのメモリ所要量を再見積もりしてください。HADBサーバのメモリ所要量の見積もりについては,「6.3 HADBサーバのメモリ所要量の見積もり」を参照してください。

サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。

(2) 定義系SQLと操作系SQLの処理時間を短縮する方法

定義系SQL,および操作系SQLの処理時間を短縮する方法について説明します。

対象の定義系SQL,および操作系SQLを次に示します。

定義系SQL
  • ALTER TABLE文(アーカイブマルチチャンク表をレギュラーマルチチャンク表に変更する場合)

  • DROP TABLE文

  • DROP INDEX文

  • DROP USER文

  • DROP SCHEMA文

  • REVOKE文(スキーマ操作権限の取り消し)

操作系SQL
  • PURGE CHUNK文

  • TRUNCATE TABLE文

定義系SQL,および操作系SQLの処理時間を短縮する手順を次に示します。

手順

  1. DBエリアファイル数を確認する

    adbdbstatusコマンドを実行して出力される「DBエリアのサマリ情報」のうち,次に示す情報を確認してください。

    • Number_of_files(DBエリアファイル数)

    なお,確認するDBエリアは,SQL文の対象となる表およびインデクスが格納されているDBエリアになります。そのDBエリアを構成するDBエリアファイル数のうち,最も大きい数を確認してください。

  2. 最大SQL処理リアルスレッド数を大きくする

    手順1.で確認したNumber_of_filesに出力された各DBエリアのDBエリアファイル数のうち,最も大きいDBエリアファイル数と,adb_sql_exe_max_rthd_numオペランドの指定値を比較してください。DBエリアファイル数の方が大きい場合は,SQL文の処理に時間が掛かっているおそれがあります。この場合,adb_sql_exe_max_rthd_numオペランドの指定値を大きくして,DBエリアファイル数と同じ値にしてください。処理性能が向上することがあります。

    ただし,adb_sql_exe_max_rthd_numオペランドの指定値を大きくすることで,SQL文の実行待ち状態が発生するおそれがあるため,あわせてサーバ定義のadb_sys_rthd_numオペランドの指定値も大きくしてください。

    なお,adb_sql_exe_max_rthd_numオペランドおよびadb_sys_rthd_numオペランドの指定値を変更した場合,必ずHADBサーバのメモリ所要量を再見積もりしてください。HADBサーバのメモリ所要量の見積もりについては,「6.3 HADBサーバのメモリ所要量の見積もり」を参照してください。

サーバ定義adb_sys_rthd_numオペランドについては,「7.6.2(2) 性能に関するオペランド(set形式)」のadb_sys_rthd_numオペランドを参照してください。