WORK:
7 運用
7.5 SQL トレース情報,パラメタトレース情 報,および SQL 単位情報の表示
7.5 SQL トレース情報,パラメタトレース情
6 オペレーショ ンコード
オペレーションコードには,次に示す情報が表示されます。
• CC:カーソルのクローズ
• ED:SQL実行(実行準備と実行)
• EX:SQL実行,またはカーソルのオープン
• FT:FETCH
• PR:SQL実行準備
一つのSQLに対して,複数のオペレーションコードが表示されます。SQL文 とオペレーションコードの対応については,「表7-5 SQL文とオペレーショ ンコードの対応」を参照してください。
7 文ハンドル番 号
SQLとの対応を確認するための番号が表示されます。
8 SQLCODE SQLCODEが表示されます。
9 SQLWARN 発生した警告情報が表示されます。警告フラグが設定されているものには'W'
を,設定されていないものには空白が表示されます。表示例を次に示します。
(例1)SQLWARN3とSQLWARN6が発生した場合 警告情報の内容
表示内容
'W△△W△△W△△△△△△△△△' (凡例)△:空白
(例2)警告がない場合 警告情報の内容
表示内容
'△△△△△△△△△△△△△△△△' (凡例)△:空白
10 SQL実行要求 受け付け時刻
SQLの実行要求受け付け時刻がyyyy/mm/dd hh:mm:ss mmm.mmmの形式で 表示されます。
11 SQL実行要求 終了時刻
SQLの実行要求終了時刻がyyyy/mm/dd hh:mm:ss mmm.mmmの形式で表示 されます。
項 番
表示される項 目
説明
表
7-5 SQL
文とオペレーションコードの対応(凡例)
−:該当しません。
12 SQL文 オペレーションコードがPRまたはEDの場合に,SQLのテキストが表示さ れます。
• XDBサービス定義のxdb_sql_text_sizeオペランドに指定したサイズ分ま で,SQLのテキストが表示されます。
• *SQL*のあとにSQLのテキストが表示されます。
• オペレーションコードPR,EDがエラーの場合も,SQLのテキストが表示 されます。
• 埋め込み変数が含まれる場合は,埋め込み変数の部分が?に置き換えられ て表示されます。ただし,1行SELECT文のINTO句は表示されません。
• カーソルを使用した検索の場合,カーソルのオープンに対応するオペレー ションコードPRのあとに,SQLのテキストが表示されます。このとき,
DECLARE カーソル名 CURSOR FOR の部分は表示されません。
• SQL文中に表示できない文字(シフトJISとして不当な文字)がある場合 でも,SQLのテキストとして表示されます。
13 パラメタト レース情報
パラメタトレース情報が表示されます。表示される内容については,「7.5.3 パラメタトレース情報に表示される項目」を参照してください。
14 SQL実行時間 SQLの実行時間がマイクロ秒単位でhh:mm:ss mmm.mmmの形式で表示さ れます。
項番 SQL オペレーションコード 備考
1 CLOSE CC −
2 DELETE PR,EX 埋め込み変数の指定がある場合に出力されます。
3 ED 埋め込み変数の指定がない場合に出力されます。
4 FETCH FT −
5 INSERT PR,EX 埋め込み変数の指定がある場合に出力されます。
6 ED 埋め込み変数の指定がない場合に出力されます。
7 OPEN PR,EX −
8 SELECT PR,EX,FT,FT,…,
CC
EX後にエラーが発生した場合,CCを出力しま す。ただし,暗黙的にトランザクションが取り消 された場合は,CCは出力されません。
9 1行
SELECT
PR,EX,FT,FT,CC 最初のFTで取り出すデータがない場合は,2番目 のFTは出力されません。
EX後にエラーが発生した場合,CCを出力しま す。ただし,暗黙的にトランザクションが取り消 された場合は,CCは出力されません。
10 UPDATE PR,EX 埋め込み変数の指定がある場合に出力されます。
11 ED 埋め込み変数の指定がない場合に出力されます。
項 番
表示される項 目
説明
7.5.3 パラメタトレース情報に表示される項目
パラメタトレース情報に表示される項目を次の表に示します。
表
7-6 パラメタトレース情報に表示される項目
表
7-7 COD,LEN
に出力される値(凡例)
m,n:正の整数 p:0,2,4,または 6
注※項番 表示される項目 説明
1 NO パラメタ番号が表示されます。SQL文中に指定した順に1から番号が割り 当てられます。
2 COD データ型のコードが表示されます。詳細については,「表7-7 COD,LEN に出力される値」を参照してください。
3 LEN データの長さが表示されます。詳細については,「表7-7 COD,LENに 出力される値」を参照してください。
4 IND 標識変数の値が表示されます。
5 DATA データ(ダンプ形式)が表示されます。
「表7-7 COD,LENに出力される値」のCODに対応するデータ型の形式 で出力されます。各データ型のデータ形式については,マニュアル「TP1/
EE/Extended Data Cache SQLプログラミング」の「データ型」を参照し てください。
ROWに対応するパラメタの場合は,データの先頭から行長分出力されま す。
項番 データ型 COD LEN
1 INTEGER f1 4
2 DECIMAL(m,n) e5 m,n
3 SMALLINT f5 2
4 CHARACTER(n) c5 n
5 VARCHAR(n) c1 n
6 TIMESTAMP(p) 7d • pが0の場合:7
• pが2の場合:8
• pが4の場合:9
• pが6の場合:10
7 ROWID 4d 12
8 ROW※ 45 対応する行の長さ
なお,パラメタトレース情報の出力サイズの上限を
XDB
サービス定義のxdb_sql_param_size
オペランド(省略値は256
バイト)で指定できます。上限を超えた 部分のパラメタトレース情報は切り捨てられます。(1) パラメタトレース情報の出力例
パラメタトレース情報の出力例を次に示します。
(a)INSERT文の場合の出力例
説明
INTEGER
およびCHAR(10)
のデータをINSERT
文で挿入する場合のパラメタト レース情報の出力例です。変数の指定順に出力されます。xdb_sql_param_trace=OUT
を指定した場合は出力されません。•
*INPRM*
は入力パラメタ情報です。挿入値に指定した変数の情報が出力されま す。•
VARCHAR
型の場合,DATAの先頭2
バイトはデータ長領域となります。実デー タ長+データ長領域のサイズ分出力されます。ただし,実データ長が-1
以下また は定義長を超えている場合は,定義長+データ長領域のサイズ分出力されます。• 標識変数がマイナス値の場合は,"DATA="まで表示されます。
• 同じデータの出力が
2
行以上続く場合は,"--- SAME x LINES ---"
が出力されます(xは省略した行数)。
(b) 検索の場合の出力例
説明
OPEN
文およびFETCH
文を使用して検索する場合の,パラメタトレース情報の出 力例です。*SQL*
INSERT INTO TBL01(C1,C2) VALUES(?,?) :
*INPRM* NO= 1 COD=f1 LEN= 4 IND= 0
DATA=64 00 00 00 *d... *
*INPRM* NO= 2 COD=c5 LEN= 10 IND= 0
DATA=61 61 61 62 62 62 63 63 63 20 *aaabbbccc * :
*SQL*SELECT * FROM TBL01 WHERE C1=?
:
*INPRM* NO= 1 COD=f1 LEN= 4 IND= 0
DATA=64 00 00 00 *d... * :
*OUTPM* NO= 1 COD=f1 LEN= 4 IND= 0
DATA=64 00 00 00 *d... *
*OUTPM* NO= 2 COD=c5 LEN= 10 IND= 0
DATA=61 61 61 62 62 62 63 63 63 20 *aaabbbccc * :
•
*INPRM*
は入力パラメタ情報です。WHERE句に指定した変数の情報が出力さ れます。•
*OUTPM*
は検索データ情報です。FETCH文で取得した検索データの情報が出 力されます。•
FETCH
文のSQLCODE
が0
以外の場合,検索データのパラメタトレース情報は 出力されません。xdb_sql_param_trace=OUT
を指定した場合,入力パラメタ情報は出力されません。また,xdb_sql_param_trace=INを指定した場合,検索データ情報は出力されませ ん。
7.5.4 SQL 単位情報に表示される項目
SQL
単位情報に表示される項目を次に示します。• 処理行数
• 作業表作成回数
• 作業表削除回数
• アクセスパス情報サイズ※1
• 表定義情報サイズ※1,※2 注※
1
SQL
プール機能によってSQL
の前処理結果が再利用された場合は0
が表示されま す。注※
2
アクセスパス情報の生成時に確保した表定義情報のサイズです。
SQL
単位情報の表示形式については,「10.運用コマンド」の「eexdbed(XDBトレー ス情報の表示)」を参照してください。7.5.5 留意事項
SQL
トレース情報およびSQL
単位情報取得時の留意事項を次に示します。•
SQL
エラーや警告情報がSQL
トレース情報に出力される場合,XDBはSQLCODE
またはSQLWARN
を個別に取得することがあります。この場合,SQLトレース情報 に,SQL実行要求受け付け時刻,SQL実行要求終了時刻,およびSQL
実行時間が出 力されません。例えば,次の場合に,これらの情報が出力されません。•
1
行SELECT
文で検索結果が2
行以上になった場合•