compareworkload: EXPLAIN スナップショットの比較

compareworkload API に 1 つの照会ワークロードの名前、 または 2 つの照会ワークロードの名前を渡すと、1 つの照会ワークロードに関する 2 つの最新 EXPLAIN スナップショットの比較、 または 2 つの照会ワークロードに関する 2 つの現行 EXPLAIN スナップショットの比較が API から返されます。

比較のタイプ

タイプ 1
1 つの照会ワークロードについて前回の EXPLAIN スナップショットと現在の EXPLAIN スナップショットを比較します。
タイプ 2
同一サブシステム上にある 2 つの照会ワークロードの現行 EXPLAIN スナップショットを比較します。
タイプ 3
異なるサブシステム (テスト・サブシステムと実動サブシステムなど) 上にある 2 つの照会ワークロードの現行 EXPLAIN スナップショットを比較します。

入力パラメーター

この URL を使用して、以下のキーと値のペアを API に渡します。 https://localhost/tuning/compareworkload

表 1. 入力パラメーター. この表は、compareworkload web API の入力パラメーターをリストしたものです。
カテゴリー キー 使用可能な値 オプション?
接続 1 dbType データ・サーバーのタイプ。 ZOS いいえ
dbHost データ・サーバーのホスト。 ドメイン・ネームまたは IP アドレス いいえ
dbPort データ・サーバーのポート番号   いいえ
dbName データ・サーバーの名前   いいえ
dbUser データ・サーバーに接続するときに使用する ID   いいえ
dbPassword データ・サーバーに接続するときに使用するパスワード。   いいえ
接続 2 dbHost2 データ・サーバーのホスト。   タイプ 3 の比較のみ。
dbPort2 データ・サーバーのポート番号   タイプ 3 の比較のみ。
dbName2 データ・サーバーの名前   タイプ 3 の比較のみ。
dbUser2 データ・サーバーに接続するときに使用する ID   タイプ 3 の比較のみ。
dbPassword2 データ・サーバーに接続するときに使用するパスワード。   タイプ 3 の比較のみ。
照会ワークロード ワークロード 比較に使用される旧 EXPLAIN スナップショットがある照会ワークロードの名前。   いいえ
workload2 比較に使用される新規 EXPLAIN スナップショットがある照会ワークロードの名前。 この名前は、1 つの照会ワークロードの 2 つの EXPLAIN スナップショットを比較する場合は最初の名前と同じにすることができます。   タイプ 1 およびタイプ 2 の比較のみ。
SQL ステートメントをフィルタリングするためのオプション apChanged これは、アクセス・プランが変更されたときの対象となる SQL ステートメントを表示するように指定します。 true または false。 大/小文字の区別はありません。 はい
costRegressed これは、指定されたパーセント以上に見積もりコストが増加した SQL ステートメントを表示するように指定します。 0 から 100 までの整数。  
演算子 これは、apChangedキーと costRegressed キーの両方に対して設定された値に適合する SQL ステートメントを表示するのか、 どちらかのキーに対して設定された値に適合する SQL ステートメントを表示するかを指定します。 and または or。 大/小文字の区別はありません。 および

出力パラメーター

API は以下のキーと値のペアを返します。

表 2. 出力パラメーター
キー
code web API からの戻りコード。
0
完了 (警告なし)
4
完了 (警告あり)
8
エラーが原因で完了せずに終了
state
0
apChanged キーまたは costRegressed キーに対して指定された条件を満たす SQL ステートメントが 1 つも 存在しないか、あるいは apChangedcostRegressed の両方に対して値が指定されませんでした。
1
costRegressed キーに対して指定された条件を満たす 1 つ以上の SQL ステートメントが存在します。
2
apChanged キーに対して指定された条件を満たす 1 つ以上の SQL ステートメントが存在します。
3
apChanged キーと costRegressed キーの両方に対して指定された条件を 満たす 1 つ以上の SQL ステートメントが存在します。
4
apChanged に対して指定された条件を満たす 1 つ以上の SQL ステートメントと、 costRegressed キーに 指定された条件を満たす 1 つ以上の SQL ステートメントが存在します。
link 2 つの EXPLAIN スナップショット内のアクセス・プランを比較するレポートの URL リンクはデフォルトで 7 日後に期限切れになります。 この期間は、tuning_service.properties ファイルで変更できます。
output フィルタリング基準を満たす SQL ステートメント (そのステートメントに関する情報がレポートに含まれているもの) の 数。
message エラー・メッセージまたは警告メッセージ。
例外 例外に関する情報 (例外が発生した場合)。 この情報は、お客様が IBM サポートと連携して問題解決にあたる場合に IBM サポートの参考になる可能性があります。

例 1

この例では、cURL を使用して 照会ワークロードの名前を compareworkload API に渡しています。 さらに、この要求では、実行コストが 30% 以上増加した SQL ステートメントについてのみ報告するように指定されています。 この API では、照会ワークロードに対する 2 つの最新 EXPLAIN スナップショットが比較され、 比較のレポートが生成されて、以下の情報が返されます。
  • フィルタリング基準を満たした SQL ステートメントの数
  • レポートにアクセスするために使用できる URL
入力
curl 
--insecure 
-X POST 
-H "Content-Type: application/json; charset=UTF-8"
--data "{ 
   dbType:ZOS, 
   dbHost:host, 
   dbPort:port_number, 
   dbName:subsystem, 
   dbUser:user_ID, 
   dbPassword:password, 
   workload:Sample_Workload_1,
   apChanged:¥"true¥"
   costRegressed:30,
   operator:¥"and¥"
   }"
https://localhost/tuning/compareworkload
出力
{        
"code" :4 , 
"state" :2,       
"output" :"11" ,        
"link" :"http://localhost:8080/tuning/download/wapc/1394687451884-
      14798931739894/ComparisonReport_1.html"}

例 2

この例では、cURL を使用して 2 つの照会ワークロードの 名前を compareworkload API に渡しています。 これらの照会ワークロードは同一サブシステム上で実行されます。 さらに、この要求では、実行コストが 20% 以上増加した SQL ステートメントについてのみ報告するように指定されています。 この API では、2 つの照会ワークロードの最新 EXPLAIN スナップショットが比較され、 比較のレポートが生成されて、以下の情報が返されます。
  • フィルタリング基準を満たした SQL ステートメントの数
  • レポートにアクセスするために使用できる URL
curl 
--insecure 
-X POST 
-H "Content-Type: application/json; charset=UTF-8"
--data "{ 
   dbType:ZOS, 
   dbHost:host, 
   dbPort:port_number, 
   dbName:subsystem, 
   dbUser:user_ID, 
   dbPassword:password, 
   workload:Sample_Workload,
   workload2:Sample_Workload2,
   costRegressed:20,
   apChanged:¥"true¥"
   }"
https://localhost/tuning/compareworkload

API からの出力は、例 1 に示されている出力と同じです。

例 3

この例では、cURL を使用して 2 つの照会ワークロードの 名前を compareworkload API に渡しています。 これらの照会ワークロードは、2 つの異なるサブシステム上で実行されます。 さらに、この要求では、実行コストが 20% 以上増加した SQL ステートメントについてのみ報告するように指定されています。 この API では、2 つの照会ワークロードの最新 EXPLAIN スナップショットが比較され、 比較のレポートが生成されて、以下の情報が返されます。
  • フィルタリング基準を満たした SQL ステートメントの数
  • レポートにアクセスするために使用できる URL
curl 
--insecure 
-X POST 
-H "Content-Type: application/json; charset=UTF-8"
--data "{ 
   dbType:ZOS, 
   dbHost:host_for_the_first_connection, 
   dbPort:port_number, 
   dbName:subsystem, 
   dbUser:user_ID, 
   dbPassword:password,
   dbHost2:host_for_the_second_connection, 
   dbPort2:port_number, 
   dbName2:subsystem, 
   dbUser2:user_ID, 
   dbPassword2:password, 
   workload:Sample_Workload,
   workload2:Sample_Workload2,
   costRegressed:50,
   apChanged:¥"true¥",
   operator:¥"or¥"
   }"
https://localhost/tuning/compareworkload

API からの出力は、例 1 に示されている出力と同じです。


フィードバック