wia: 照会ワークロードの索引推奨項目を生成

wia API に照会ワークロードの名前を 渡すと、この API によってワークロード索引アドバイザーが実行されます。 このアドバイザーは、索引に対する推奨項目と、分析のレポートを生成します。 推奨項目と、レポートへの URL がこの API から返されます。

入力パラメーター

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

表 1. 入力パラメーター
キー 使用可能な値
dbType データ・サーバーのタイプ。 ZOS
dbHost データ・サーバーのホスト。 ドメイン・ネームまたは IP アドレス
dbPort データ・サーバーのポート番号  
dbName データ・サーバーの名前  
dbUser データ・サーバーに接続するときに使用する ID  
dbPassword データ・サーバーに接続するときに使用するパスワード。  
workloadName 索引推奨項目の対象となる照会ワークロードの名前。  

出力パラメーター

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

表 2. 出力パラメーター
キー
code web API からの戻りコード。
0
完了 (警告なし)
4
完了 (警告あり)
8
エラーが原因で完了せずに終了
link ワークロード索引アドバイザーの分析のレポートの URL リンクはデフォルトで 7 日後に期限切れになります。 この期間は、tuning_service.properties ファイルで変更できます。
output 索引推奨項目の DDL。
message エラー・メッセージまたは警告メッセージ。
例外 例外に関する情報 (例外が発生した場合)。 この情報は、お客様が IBM サポートと連携して問題解決にあたる場合に IBM サポートの参考になる可能性があります。

この例では、cURL を使用して wia API に SQL ステートメントを 渡しています。 この API からは、ワークロード索引アドバイザーの分析のレポートを開くための URL と、索引推奨項目の DDL の両方が返されます。

入力
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, 
   workloadName:Sample_Workload,
   }"
https://localhost/tuning/wia
出力
{        
"code" :0 ,
"message" :" 
      --Estimated change in performance: 32.57 % faster¥r¥n
      --Estimated disk space: 0.58 MB used¥r¥n
-------------------------------------------------------------¥r¥n
--Recommendations:¥r¥n
--Index: TPCDS.IDX1403130531140 Table: TPCDS.ORDER Action:Create¥r¥n
CREATE INDEX¥"TPCDS¥".¥"IDX1403130531140¥" ON ¥"TPCDS¥".¥"ORDER¥" 
      ( ¥"O_TOTALPRICE¥" ASC,
        ¥"O_ORDERDATE¥" ASC, 
        ¥"O_SHIPPRIORITY¥" ASC, 
        ¥"O_ORDERKEY¥" ASC ) 
      ALLOW REVERSE SCANS
      COLLECT STATISTICS;¥r¥n --END"        
"link" :"http://localhost:8080/tuning/download/wia/1394688720272-
      16067301553057/summary.html" ,
}

また、照会ワークロードを検出できない場合など、API から エラー・メッセージや例外が返されることもあります。

{   
    "code" :8 ,
    "error" :"The query workload Sample_Workload was not found. Ensure that the 
      name of the query workload is correct. Ensure that the query workload exists
      on the specified data server."
}

フィードバック