Hitachi

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


10.11.3 アクセスパスの統計情報の出力例と出力項目

ここでは,アクセスパスの統計情報の出力例,出力項目および注意事項について説明します。

アクセスパスの統計情報は,SQLトレース情報の一部として,実行したSQL文の終了時に出力されます。なお,エラーとなったSQL文については,アクセスパスの統計情報が出力されないことがあります。

アクセスパスの統計情報に出力される対応するアクセスパスのツリー行番号をキーにして,アクセスパス情報と突き合わせることで,SQLトレース情報を確認できます。アクセスパス情報については,「10.11.2 SQLトレース情報に出力される情報」の「(5) 実行したSQL文とアクセスパス情報」を参照してください。

メモ

次に示す場合にアクセスパスの統計情報が出力されます。

  • コール種別がCLOSの場合(カーソルをクローズしないで文ハンドルを解放したり,トランザクションを決着したりした場合を含む)

  • コール種別がEXECEXDI,またはSQLの場合

〈この項の構成〉

(1) アクセスパスの統計情報の出力例

アクセスパスの統計情報の出力例を次に示します。情報量が多いため,3つに分けています。

■アクセスパスの統計情報の出力例(その1)

[図データ]

■アクセスパスの統計情報の出力例(その2)

[図データ]

■アクセスパスの統計情報の出力例(その3)

[図データ]

(2) アクセスパスの統計情報に出力される項目

アクセスパスの統計情報に出力される項目,および出力対象となるアクセスパスの種類を,次の表に示します。

表10‒21 アクセスパスの統計情報に出力される項目の一覧

項番

出力項目

出力対象となるアクセスパスの種類

出力される内容の詳細

1

データアクセス情報

作業表の作成情報

CREATE GLOBAL WORK TABLE

(a) データアクセス情報」を参照してください。

2

CREATE LOCAL WORK TABLE

3

表の検索方式の情報

TABLE SCAN

4

KEY SCAN

5

INDEX SCAN

6

作業表の検索情報

WORK TABLE SCAN

7

導出表の情報

DERIVED TABLE

8

表関数導出表の情報

TABLE FUNCTION DERIVED TABLE

9

結合方式の情報

HASH JOIN

10

NESTED LOOP JOIN

11

副問合せ種別の情報

SUBQUERY HASH

12

グループ化集合の情報

GROUPING SET

13

検索処理に関する情報※1,※2,※3

副問合せ種別の情報

SUBQUERY HASH

(b) 検索処理に関する情報」を参照してください。

14

導出表の情報

DERIVED TABLE

15

表関数導出表の情報

TABLE FUNCTION DERIVED TABLE

16

表値構成子の検索情報

TABLE VALUE CONSTRUCTOR SCAN

17

グループ化の処理方式の情報

GLOBAL HASH GROUPING

18

重複排除方式の情報

GLOBAL HASH UNIQUE

19

表の検索方式の情報

TABLE SCAN

20

KEY SCAN

21

INDEX SCAN

22

作業表の検索情報

WORK TABLE SCAN

23

結合方式の情報

NESTED LOOP JOIN

24

HASH JOIN

25

集合演算に関する情報※4

集合演算種別の情報

SET OPERATION

(c) 集合演算に関する情報」を参照してください。

26

ハッシュグループ化領域に関する情報※5

グループ化の処理方式の情報

LOCAL HASH GROUPING

(d) ハッシュグループ化領域に関する情報」を参照してください。

27

ハッシュテーブル領域に関する情報

重複排除方式の情報

GLOBAL HASH UNIQUE

(e) ハッシュテーブル領域に関する情報」を参照してください。

28

副問合せ種別の情報

SUBQUERY HASH

29

グループ化の処理方式の情報

GLOBAL HASH GROUPING

30

結合方式の情報

HASH JOIN

31

外への参照列を含む副問合せに関する情報※6,※7

副問合せ種別の情報

SUBQUERY LOOP

(f) 外への参照列を含む副問合せに関する情報」を参照してください。

32

副問合せの結果を格納するキャッシュに関する情報

副問合せのキャッシュの情報

USING CACHE

(g) 副問合せの結果を格納するキャッシュに関する情報」を参照してください。

33

再帰的問合せに関する情報

再帰的問合せの情報

RECURSIVE

(h) 再帰的問合せに関する情報」を参照してください。

34

SQL文の実行に関する情報

(i) SQL文の実行に関する情報」を参照してください。

(凡例)

−:アクセスパスの統計情報の出力対象となるSQL文を実行すると,アクセスパスの種類に関係なく,情報が出力されます。

注※1

副問合せの処理方式が,ネストループ作業表実行またはネストループ行値実行となる,外への参照列を含む副問合せの中で実行される検索処理の場合,対象のアクセスパスは,アクセスパスの統計情報に出力されません。

ただし,外への参照列を含む副問合せの中で実行される次の処理のアクセスパスについては,アクセスパスの統計情報に出力されます。

  • 外への参照列を含まない副問合せの中で実行される検索処理

注※2

副問合せの処理方式が,作業表実行,作業表行値実行またはネストループ作業表実行となる副問合せについて,その結果を格納した作業表の検索処理の場合,対象のアクセスパスは,アクセスパスの統計情報に出力されません。

注※3

ネストループジョインが適用される表の結合処理で,ネストループジョインの外表および内表に関する検索処理の場合,対象のアクセスパスは,アクセスパスの統計情報に出力されません。ただし,ネストループジョインの最も外側の表が導出表の場合,その導出問合せに関する検索処理については,対象のアクセスパスがアクセスパスの統計情報に出力されます。

注※4

副問合せの処理方式が,ネストループ作業表実行またはネストループ行値実行となる,外への参照列を含む副問合せの中で実行される集合演算の場合,対象のアクセスパスは,アクセスパスの統計情報に出力されません。

ただし,外への参照列を含む副問合せの中で実行される次の処理のアクセスパスについては,アクセスパスの統計情報に出力されます。

  • 外への参照列を含まない副問合せの中で実行される集合演算

注※5

副問合せの処理方式が,ネストループ作業表実行またはネストループ行値実行となる,外への参照列を含む副問合せの中で実行されるローカルハッシュグループ化の場合,対象のアクセスパスは,アクセスパスの統計情報に出力されません。

ただし,外への参照列を含む副問合せの中で実行される次の処理のアクセスパスについては,アクセスパスの統計情報に出力されます。

  • 外への参照列を含まない副問合せの中で実行されるローカルハッシュグループ化の処理

注※6

副問合せの結果を評価する個所で,同じSUBQUERY LOOPが複数ある場合は,最初の1行目に出力されます。

注※7

アクセスパス情報のツリー表示でSUBQUERY LOOPがネストした場合,ネストしたSUBQUERY LOOPに対してアクセスパスの統計情報が出力されないことがあります。

(a) データアクセス情報

アクセスパスの統計情報に出力されるデータアクセス情報について,次の表に示します。

なお,更新系SQLに関するアクセスパスの統計情報の場合,更新対象となる表については,更新対象データまたは削除対象データを検索するときの情報だけが出力されます。データの追加処理,更新処理および削除処理を行うときの情報は出力されません。

また,データアクセス情報は,アクセスパスに対して複数行出力されることがあります。詳細については,「表10‒23 各アクセスパスのデータアクセス情報の出力行数と出力情報」を参照してください。

表10‒22 アクセスパスの統計情報に出力される項目(データアクセス情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Data_path#

対応するアクセスパスのツリー行番号

UINT8

2

Data_dbbuff_page_request_cnt(table)

実表へのアクセス時に使用するグローバルバッファのページ要求回数

UINT8

最大値

3

Data_dbbuff_page_hit_cnt(table)

実表へのアクセス時に使用するグローバルバッファのヒット回数

UINT8

最大値

4

Data_dbbuff_page_read_cnt(table)

実表へのアクセス時に使用するグローバルバッファに対するファイル読み込み回数

UINT8

最大値

5

Data_dbbuff_page_write_cnt(table)

実表へのアクセス時に使用するグローバルバッファからのファイル書き込み回数

UINT8

最大値

6

Data_dbbuff_tblscan_request_cnt

実表へのアクセス時に使用するテーブルスキャンバッファのページ要求回数

UINT8

最大値

7

Data_dbbuff_tblscan_hit_cnt

実表へのアクセス時に使用するテーブルスキャンバッファのページのヒット回数

UINT8

最大値

8

Data_dbbuff_tblscan_read_cnt

実表へのアクセス時に使用するテーブルスキャンバッファブロックへのファイル読み込み回数

UINT8

最大値

9

Data_dbbuff_tblscan_read_size

実表へのアクセス時に使用するテーブルスキャンバッファのファイル読み込みサイズ(単位:キロバイト)

UINT8

最大値

10

Data_dbbuff_tblscan_failed_cnt

実表へのアクセス時に使用するテーブルスキャンバッファブロックの割り当てに失敗した回数

割り当てに失敗した場合は,グローバルバッファを使用します。

UINT8

最大値

11

Data_dbbuff_page_request_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファのページ要求回数

UINT8

最大値

12

Data_dbbuff_page_hit_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファのヒット回数

UINT8

最大値

13

Data_dbbuff_page_read_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファへのファイル読み込み回数

UINT8

最大値

14

Data_dbbuff_page_write_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファからのファイル書き込み回数

UINT8

最大値

15

Data_dbbuff_page_request_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファのページ要求回数

UINT8

最大値

16

Data_dbbuff_page_hit_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファのヒット回数

UINT8

最大値

17

Data_dbbuff_page_read_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファに対するファイル読み込み回数

UINT8

最大値

18

Data_dbbuff_page_write_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファからのファイル書き込み回数

UINT8

最大値

19

Data_dbbuff_page_request_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファのページ要求回数

UINT8

最大値

20

Data_dbbuff_page_hit_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファのヒット回数

UINT8

最大値

21

Data_dbbuff_page_read_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファに対するファイル読み込み回数

UINT8

最大値

22

Data_dbbuff_page_write_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファからのファイル書き込み回数

UINT8

最大値

23

Data_dbbuff_wrktbl_clt_tbl_cnt

ローカル作業表用バッファの生成回数

UINT8

最大値

24

Data_dbbuff_wrktbl_clt_request_cnt

ローカル作業表用バッファのページ要求回数

UINT8

最大値

25

Data_dbbuff_wrktbl_clt_page_hit_cnt

ローカル作業表用バッファのヒット回数

UINT8

最大値

26

Data_dbbuff_wrktbl_clt_read_cnt

ローカル作業表用バッファへのファイルの読み込み回数

UINT8

最大値

27

Data_dbbuff_wrktbl_clt_write_cnt

ローカル作業表用バッファからファイルへの書き込み回数

UINT8

最大値

28

Data_dbbuff_page_request_cnt(glb_wrk)

グローバル作業表用のグローバルバッファのページ要求回数

UINT8

最大値

29

Data_dbbuff_page_hit_cnt(glb_wrk)

グローバル作業表用のグローバルバッファのヒット回数

UINT8

最大値

30

Data_dbbuff_page_read_cnt(glb_wrk)

グローバル作業表用のグローバルバッファへのファイルの読み込み回数

UINT8

最大値

31

Data_dbbuff_page_write_cnt(glb_wrk)

グローバル作業表用のグローバルバッファからファイルへの書き込み回数

UINT8

最大値

32

Data_bidx_page_split_cnt

システムで使用する値

常に0が出力されます。

UINT8

最大値

33

Data_bidx_validation_check_cnt

B-treeインデクスを使用した検索で,行が有効かどうかを判定した回数

UINT8

最大値

34

Data_ridx_chunk_judge_cnt

レンジインデクスを使用した検索で,表のチャンクを判定した回数

UINT8

最大値

35

Data_ridx_chunk_skip_cnt

レンジインデクスを使用した検索で,表のチャンクをスキップした回数

UINT8

最大値

36

Data_ridx_sgmt_judge_cnt

レンジインデクスを使用した検索で,表のセグメントを判定した回数

UINT8

最大値

37

Data_ridx_sgmt_skip_cnt

レンジインデクスを使用した検索で,表のセグメントをスキップした回数

UINT8

最大値

38

Data_tidx_page_split_cnt

システムで使用する値

常に0が出力されます。

UINT8

最大値

39

Data_wrktbl_create_cnt

作業表を作成した回数

UINT8

最大値

40

Data_wrktbl_drop_cnt

作業表を削除した回数

UINT8

最大値

41

Data_wrktbl_page_assign_num

割り当てた作業表ページ数

UINT8

最大値

42

Data_wrktbl_page_free_num

解放された作業表ページ数

UINT8

最大値

43

Data_wrktbl_page_use_max

割り当てた作業表のページ数のうち,最も大きいページ数

UINT8

最大値

44

Data_wrktbl_sort_merge_cnt

作業表のソートでのソート段数の最大値

UINT8

最大値

45

Data_wrktbl_sort_page_max_cnt

作業表のソート処理で割り当てた最も大きい作業表のページ数

UINT8

最大値

46

Data_dbarea_extension_cnt

システムで使用する値

常に0が出力されます。

UINT8

最大値

47

Data_segmentrel_rthd_max_num

システムで使用する値

常に0が出力されます。

UINT8

最大値

48

Data_log_usrfile_write_cnt

ユーザログファイルへの書き込み回数

UINT8

最大値

49

Data_log_usrbuf_out_cnt

ユーザログバッファの満杯による掃き出し回数

UINT8

最大値

50

Data_log_usrfile_max_size

ユーザログファイルの使用量の最大値

UINT8

最大値

51

Data_directory_send_num

システムで使用する値

常に0が出力されます。

UINT8

最大値

52

Data_access_info_type

データアクセスの種別

  • Access

    アクセスパスが対象とするスキーマオブジェクトにアクセスする場合のデータアクセス情報であることを示しています。

  • Create_hash_wrktbl

    ハッシュテーブル領域不足によって作業表が作成される場合のデータアクセス情報であることを示しています。

  • Scan_hash_wrktbl

    ハッシュテーブル領域不足によって作成される作業表を検索する場合のデータアクセス情報であることを示しています。

  • Create_split_hash_wrktbl

    ハッシュテーブル領域不足によって作業表が新たに作成される場合のデータアクセス情報であることを示しています。

  • Scan_split_hash_wrktbl

    ハッシュテーブル領域不足によって新たに作成される作業表を検索する場合のデータアクセス情報であることを示しています。

  • Rowid_fetch

    行IDを使用してデータページからデータを取り出すための検索が実行される場合のデータアクセス情報であることを示しています。

  • Create_grpset_wrktbl

    グループ化処理を複数回実行する際に使用される作業表を作成するときのデータアクセス情報であることを示しています。

  • Scan_grpset_wrktbl

    グループ化処理を複数回実行する際に使用される作業表を検索するときのデータアクセス情報であることを示しています。

データアクセスの種別と,アクセスパスの関係については,「表10‒23 各アクセスパスのデータアクセス情報の出力行数と出力情報」を参照してください。

CHAR

53

Data_csvread_file_cnt

ADB_CSVREAD関数を使用してオープンされたファイルの数

アーカイブマルチチャンク表にアクセスするSQL文の等価変換によって生成されたADB_CSVREAD関数を使用してオープンされたファイルも含まれます。

UINT8

最大値

54

Data_csvread_file_read_size

ADB_CSVREAD関数を使用してファイルから読み込んだデータサイズの合計値(単位:バイト)

アーカイブマルチチャンク表の等価変換によって生成されたADB_CSVREAD関数を使用してファイルから読み込んだデータサイズも含まれます。

UINT8

最大値

55

Data_deleted_rows_cnt

検索時に無効行と判定された行数

無効行については,次の個所を参照してください。

UINT8

最大値

56

Data_tidx_all_search_cnt

テキストインデクスを使用してチャンク内のデータを検索した際,チャンク内のデータを全件検索した回数

UINT8

最大値

57

Data_auditread_file_cnt

ADB_AUDITREAD関数を使用してオープンされたファイルの数

UINT8

最大値

58

Data_auditread_file_read_size

ADB_AUDITREAD関数を使用してファイルから読み込んだデータサイズの合計値(単位:バイト)

UINT8

最大値

59

Data_cs_column_invalid_rows_cnt

カラムストア表のカラムデータ用セグメント検索時に,無効行と判定された行数

UINT8

最大値

60

Data_cs_rowstore_fetch_rows_cnt

カラムストア表の検索時に,ローストア形式のデータ(INSERT文またはUPDATE文で追加した行)にアクセスしてヒットした行数

UINT8

最大値

61

Data_cs_invalid_info_page_request_cnt

カラムストア表の無効情報管理用ページのページ要求回数

UINT8

最大値

62

Data_dbbuff_page_request_max_cnt(table)

実表へのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

63

Data_dbbuff_page_request_min_cnt(table)

実表へのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

64

Data_dbbuff_tblscan_request_max_cnt

実表へのアクセス時に使用するテーブルスキャンバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

65

Data_dbbuff_tblscan_request_min_cnt

実表へのアクセス時に使用するテーブルスキャンバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

66

Data_dbbuff_page_request_max_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

67

Data_dbbuff_page_request_min_cnt(btree)

B-treeインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

68

Data_dbbuff_page_request_max_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

69

Data_dbbuff_page_request_min_cnt(text)

テキストインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

70

Data_dbbuff_page_request_max_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

71

Data_dbbuff_page_request_min_cnt(range)

レンジインデクスへのアクセス時に使用するグローバルバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

72

Data_dbbuff_wrktbl_clt_request_max_cnt

ローカル作業表用バッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

73

Data_dbbuff_wrktbl_clt_request_min_cnt

ローカル作業表用バッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

74

Data_dbbuff_page_request_max_cnt(glb_wrk)

グローバル作業表用のグローバルバッファのページ要求回数(リアルスレッド間の最大値)

UINT8

最大値

75

Data_dbbuff_page_request_min_cnt(glb_wrk)

グローバル作業表用のグローバルバッファのページ要求回数(リアルスレッド間の最小値)

UINT8

最大値

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

最大値:オーバフローした場合,18,446,744,073,709,551,615が出力されます。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※

ハッシュテーブルの作成中にハッシュテーブル領域が不足した場合,複数の作業表が作成され,ハッシュテーブルに格納されるデータが,各作業表に分割されて格納されます。各作業表に対するハッシュテーブルの作成中にハッシュテーブル領域不足が再度発生した場合,作業表が新たに作成されます。この新たに作成された作業表を示しています。

各アクセスパスのデータアクセス情報の出力行数と出力情報について,次の表に示します。

表10‒23 各アクセスパスのデータアクセス情報の出力行数と出力情報

項番

アクセスパスの種類

データアクセス情報の出力行数と出力情報

Data_access_info_typeに出力される内容

1

CREATE GLOBAL WORK TABLE

出力行数

アクセスパスに対して1行出力されます。

出力情報

グローバル作業表を作成する場合(ソート処理を含む)のデータアクセス情報が出力されます。この情報には,グローバル作業表を作成する前段階に当たるローカル作業表を作成するときの情報も含まれます。

Access

2

CREATE LOCAL WORK TABLE

出力行数

アクセスパスに対して1行出力されます。

出力情報

ローカル作業表を作成する場合(ソート処理を含む)のデータアクセス情報が出力されます。

Access

3

TABLE SCAN

出力情報(1行出力される場合)

通常は,アクセスパスに対して1行出力されます。

対象の実表,作業表,または表関数導出表を検索する場合のデータアクセス情報が出力されます。

出力情報(3行出力される場合)

アクセスパスが次のどれかに該当する場合は,3行出力されます。

  • ハッシュジョインの内表の場合

  • ハッシュ実行が適用される副問合せで,外側の問合せが対象である場合

1行目には,対象の実表,作業表,または表関数導出表を検索する場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

3行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

出力情報(5行出力される場合)

アクセスパスが次のどれかに該当する場合は,5行出力されます。

  • ハッシュジョインの外表の場合

  • ハッシュ実行が適用される副問合せの対象の場合

  • グローバルハッシュグループ化の対象の場合

  • ハッシュ実行が適用されるSELECT DISTINCTの対象の場合

1行目には,対象の実表,作業表,または表関数導出表を検索する場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

3行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

4行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

5行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

1行出力される場合

Access

3行出力される場合
  • Access(1行目)

  • Create_hash_wrktbl(2行目)

  • Scan_hash_wrktbl(3行目)

5行出力される場合
  • Access(1行目)

  • Create_hash_wrktbl(2行目)

  • Scan_hash_wrktbl(3行目)

  • Create_split_hash_wrktbl(4行目)

  • Scan_split_hash_wrktbl(5行目)

4

INDEX SCAN

5

KEY SCAN

6

WORK TABLE SCAN

出力情報(1行出力される場合)

通常は,アクセスパスに対して1行出力されます。

対象の作業表を検索する場合のデータアクセス情報が出力されます。

出力情報(2行出力される場合)

アクセスパスが次に該当する場合は,2行出力されます。

  • ORDER BY句を指定したSQL文で作成された作業表に対して,FROM句に指定した表の行IDを格納する場合

1行目には,対象の作業表を検索する場合のデータアクセス情報が出力されます。

2行目には,行IDを使用してデータページからデータを取り出すために検索した場合のデータアクセス情報が出力されます。データを取出す対象表が複数ある場合は,複数の表にアクセスしたときの値の合計となります。

出力情報(3行出力される場合)

アクセスパスが次のどれかに該当する場合は,3行出力されます。

  • ハッシュジョインの内表の場合

  • ハッシュ実行が適用される副問合せで,外側の問合せが対象である場合

1行目には,対象の作業表を検索する場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

3行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

出力情報(5行出力される場合)

アクセスパスが次のどれかに該当する場合は,5行出力されます。

  • ハッシュジョインの外表の場合

  • ハッシュ実行が適用される副問合せの対象の場合

  • グローバルハッシュグループ化の対象の場合

  • ハッシュ実行が適用されるSELECT DISTINCTの対象の場合

1行目には,対象の作業表を検索する場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

3行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

4行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

5行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

1行出力される場合

Access

2行出力される場合
  • Access(1行目)

  • Rowid_fetch(2行目)

3行出力される場合
  • Access(1行目)

  • Create_hash_wrktbl(2行目)

  • Scan_hash_wrktbl(3行目)

5行出力される場合
  • Access(1行目)

  • Create_hash_wrktbl(2行目)

  • Scan_hash_wrktbl(3行目)

  • Create_split_hash_wrktbl(4行目)

  • Scan_split_hash_wrktbl(5行目)

7

DERIVED TABLE

出力情報(2行出力される場合)

アクセスパスが次のどれかに該当する場合は,2行出力されます。

  • ハッシュジョインの内表の場合

  • ハッシュ実行が適用される副問合せで,外側の問合せが対象である場合

1行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

出力情報(4行出力される場合)

アクセスパスが次のどれかに該当する場合は,4行出力されます。

  • ハッシュジョインの外表の場合

  • ハッシュ実行が適用される副問合せの対象の場合

  • グローバルハッシュグループ化の対象の場合

  • ハッシュ実行が適用されるSELECT DISTINCTの対象の場合

  • ハッシュ実行が適用される集合演算について作成される導出表の場合

1行目には,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

2行目には,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

3行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が作成された場合のデータアクセス情報が出力されます。

4行目には,作業表に分割されたあとに,ハッシュテーブル領域で領域不足が発生して作業表が検索された場合のデータアクセス情報が出力されます。

2行出力される場合
  • Create_hash_wrktbl(1行目)

  • Scan_hash_wrktbl(2行目)

4行出力される場合
  • Create_hash_wrktbl(1行目)

  • Scan_hash_wrktbl(2行目)

  • Create_split_hash_wrktbl(3行目)

  • Scan_split_hash_wrktbl(4行目)

8

TABLE FUNCTION DERIVED TABLE

9

HASH JOIN

10

NESTED LOOP JOIN

11

SUBQUERY HASH

12

GROUPING SET

出力行数

アクセスパスに対して2行出力されます。

出力情報

1行目には,グループ化処理を複数回実行する際に使用される作業表を作成するときのデータアクセス情報が出力されます。

2行目には,グループ化処理を複数回実行する際に使用される作業表を検索するときのデータアクセス情報が出力されます。

  • Create_grpset_wrktbl(1行目)

  • Scan_grpset_wrktbl(2行目)

(b) 検索処理に関する情報

アクセスパスの統計情報に出力される検索処理に関する情報について,次の表に示します。

表10‒24 アクセスパスの統計情報の出力項目(検索処理に関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Scan_path#

対応するアクセスパスのツリー行番号

UINT8

2

Scan_row_cnt

索処理した行数※1

リアルスレッドによって実行された検索処理の行数の合計値が出力されます。

UINT8

WRAP

3

Scan_start_time

検索処理の開始日時※2

検索処理を開始した日時が,次の形式で出力されます。

YYYY-MM-DDhh:mm:ss.nnnnnn※4

CHAR

4

Scan_end_time

検索処理の終了日時※3

検索処理を終了した日時が,次の形式で出力されます。

YYYY-MM-DDhh:mm:ss.nnnnnn※4

CHAR

5

Scan_max_rt_row_cnt

検索処理した行数※1

各リアルスレッドによって実行された検索処理の行数のうち,最大値が出力されます。

UINT8

WRAP

6

Scan_min_rt_row_cnt

検索処理した行数※1

各リアルスレッドによって実行された検索処理の行数のうち,最小値が出力されます。

UINT8

WRAP

(凡例)
UINT8

8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR

出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

WRAP

18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:

オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※1

次のように検索処理が複数回実行される場合,複数回の検索処理の値を合計した値が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理

  • グループ化処理で実行される検索処理(同一問合せ指定中に引数が異なるDISTINCT集合関数を複数指定した場合,各DISTINCT集合関数の結果を求めるためにグループ化処理が複数回実行されます)

  • ハッシュジョインが分割実行される場合,各ハッシュジョインで実行される検索処理

注※2

次のように検索処理が複数回実行される場合,1回目の検索処理の開始時刻が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理

  • グループ化処理で実行される検索処理(同一問合せ指定中に引数が異なるDISTINCT集合関数を複数指定した場合,各DISTINCT集合関数の結果を求めるためにグループ化処理が複数回実行されます)

  • ハッシュジョインが分割実行される場合,各ハッシュジョインで実行される検索処理

注※3

次のように検索処理が複数回実行される場合,最後の検索処理の終了時刻が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理

  • グループ化処理で実行される検索処理(同一問合せ指定中に引数が異なるDISTINCT集合関数を複数指定した場合,各DISTINCT集合関数の結果を求めるためにグループ化処理が複数回実行されます)

  • ハッシュジョインが分割実行される場合,各ハッシュジョインで実行される検索処理

注※4

年(YYYY)は4桁で出力されます。月(MM),日(DD),時(hh),分(mm),および秒(ss)は2桁で出力されます。マイクロ秒(nnnnnn)は6桁で出力されます。桁数が足りない場合は,足りない分,左側に0が補われます。△は半角空白を表します

(c) 集合演算に関する情報

アクセスパスの統計情報に出力される集合演算に関する情報について,次の表に示します。

表10‒25 アクセスパスの統計情報の出力項目(集合演算に関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Setop_path#

対応するアクセスパスのツリー行番号

UINT8

2

Setop_type

集合演算種別

  • UNION ALL

  • UNION DISTINCT

  • EXCEPT ALL

  • EXCEPT DISTINCT

  • INTERSECT ALL

  • INTERSECT DISTINCT

なお,SQL文に指定された集合演算種別と異なることがあります。

CHAR

3

Setop_sort

集合演算時のソート処理の有無※1

  • Y:ソート処理がある

  • N:ソート処理がない

CHAR

4

Setop_row_cnt

集合演算による処理行数

UINT8

WRAP

5

Setop_start_time

集合演算による処理の開始日時

集合演算による処理を開始した日時が,次の形式で出力されます。※2

YYYY-MM-DDhh:mm:ss.nnnnnn※4

CHAR

6

Setop_end_time

集合演算による処理の終了日時

集合演算による処理を終了した日時が,次の形式で出力されます。※3

YYYY-MM-DDhh:mm:ss.nnnnnn※4

CHAR

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

注※1

再帰的問合せ内にある,再帰的問合せ名を参照している集合演算による処理の場合,再帰ごとの値を合計した値が出力されます。

注※2

再帰的問合せ内にある,再帰的問合せ名を参照している集合演算による処理の場合,1回目の再帰の開始時刻が出力されます。

注※3

再帰的問合せ内にある,再帰的問合せ名を参照している集合演算による処理の場合,最後の再帰の終了時刻が出力されます。

注※4

年(YYYY)は4桁で出力されます。月(MM),日(DD),時(hh),分(mm),および秒(ss)は2桁で出力されます。マイクロ秒(nnnnnn)は6桁で出力されます。桁数が足りない場合は,足りない分,左側に0が補われます。△は半角空白を表します。

(d) ハッシュグループ化領域に関する情報

アクセスパスの統計情報に出力されるハッシュグループ化領域に関する情報について,次の表に示します。

表10‒26 アクセスパスの統計情報の出力項目(ハッシュグループ化領域に関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Hashgrp_path#

対応するアクセスパスのツリー行番号

UINT8

2

Hashgrp_area_shortage

ハッシュグループ化領域の領域不足の発生有無

  • Y:領域不足が発生している

  • N:領域不足が発生していない

CHAR

3

Hashgrp_area_sufficient_size

ハッシュグループ化領域で領域不足が発生しない十分な領域サイズ(単位:キロバイト)

なお,十分な領域サイズが,サーバ定義またはクライアント定義のadb_sql_exe_hashgrp_area_sizeオペランドに指定できる最大値を超える場合は,各オペランドに指定できる最大値が表示されます。

UINT8

4

Hashgrp_group_num

グループ化による処理行数(HAVING句の評価前)

UINT8

WRAP

5

Hashgrp_wrktbl_max_row_cnt

作業表への挿入行数の最大値(リアルスレッドごとの最大値)

UINT8

WRAP

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

(e) ハッシュテーブル領域に関する情報

アクセスパスの統計情報に出力されるハッシュテーブル領域に関する情報について,次の表に示します。

ハッシュテーブル領域に関する情報には,ハッシュフィルタの情報も出力されます。

表10‒27 アクセスパスの統計情報の出力項目(ハッシュテーブル領域に関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Hashtbl_path#

対応するアクセスパスのツリー行番号

UINT8

2

Hashtbl_area_shortage

ハッシュテーブル領域の領域不足の発生有無※1

  • Y:領域不足が発生している

  • N:領域不足が発生していない

CHAR

3

Hashtbl_wrktbl_bckt_max_row_cnt

ハッシュテーブル領域が不足した場合の作業表への挿入行数の最大値(リアルスレッドごとの最大値)※2

UINT8

WRAP

4

Hashtbl_filter_num

ハッシュフィルタ数※3

UINT8

5

Hashtbl_filter_disabled_num

無効化されたハッシュフィルタの合計数※4,※5

UINT8

6

Hashtbl_sum_filter_check_cnt

ハッシュフィルタでハッシュ値をチェックした回数の合計値※4,※5

全ハッシュフィルタの合計値が出力されます。

UINT8

7

Hashtbl_max_filter_check_cnt

ハッシュフィルタでハッシュ値をチェックした回数の最大値※4,※5

ハッシュフィルタごとにチェックした回数のうち,最も大きな値が出力されます。

UINT8

8

Hashtbl_min_filter_check_cnt

ハッシュフィルタでハッシュ値をチェックした回数の最小値※4,※5

ハッシュフィルタごとにチェックした回数のうち,最も小さな値が出力されます。

UINT8

9

Hashtbl_sum_filtering_cnt

ハッシュ値がハッシュフィルタで除外された回数の合計値※4,※5

全ハッシュフィルタの合計値が出力されます。

UINT8

10

Hashtbl_max_filtering_cnt

ハッシュ値がハッシュフィルタで除外された回数の最大値※4,※5

ハッシュフィルタごとの除外された回数のうち,最も大きな値が出力されます。

UINT8

11

Hashtbl_min_filtering_cnt

ハッシュ値がハッシュフィルタで除外された回数の最小値※4,※5

ハッシュフィルタごとの除外された回数のうち,最も小さな値が出力されます。

UINT8

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※1

ハッシュ検索が複数回実行される次の処理の場合,すべてのハッシュ検索を通した情報が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理で実行されるハッシュ検索

  • 同一問合せ指定中に引数が異なるDISTINCT集合関数を複数指定した場合に,各DISTINCT集合関数の結果を求めるために実行される複数回のグローバルハッシュグループ化

  • 分割実行されるハッシュジョイン,または分割実行されるハッシュジョインに含まれるハッシュジョイン

注※2

ハッシュ検索が複数回実行される次の処理の場合,ハッシュ検索ごとの値のうち,最も大きい値が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理で実行されるハッシュ検索

  • 同一問合せ指定中に引数が異なるDISTINCT集合関数を複数指定した場合に,各DISTINCT集合関数の結果を求めるために実行される複数回のグローバルハッシュグループ化

  • 分割実行されるハッシュジョイン,または分割実行されるハッシュジョインに含まれるハッシュジョイン

注※3

ハッシュフィルタが適用されないSQL文の場合,0が出力されます。adb_sql_exe_hashflt_area_sizeオペランドが0の場合も,0が出力されます。

注※4

ハッシュフィルタが適用されないSQL文の場合,0が出力されます。adb_sql_exe_hashflt_area_sizeオペランドが0の場合,およびハッシュフィルタサイズが十分でない場合も,0が出力されます。

注※5

ハッシュ検索が複数回実行される次の処理の場合,すべてのハッシュ検索を通して合計した値に関する情報が出力されます。

  • 再帰的問合せ内にある,再帰的問合せ名を参照している検索処理で実行されるハッシュ検索

  • 分割実行されるハッシュジョイン,または分割実行されるハッシュジョインに含まれるハッシュジョイン

なお,ハッシュフィルタに関する項目については,ハッシュフィルタごとに合計した値に関する情報が出力されます

(f) 外への参照列を含む副問合せに関する情報

アクセスパスの統計情報に出力される外への参照列を含む副問合せに関する情報について,次の表に示します。

表10‒28 アクセスパスの統計情報の出力項目(外への参照列を含む副問合せに関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Corsubq_path#

対応するアクセスパスのツリー行番号

UINT8

2

Corsubq_request_cnt

外への参照列を含む副問合せを要求した回数

UINT8

WRAP

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※

再帰的問合せ内にある,再帰的問合せ名を参照している検索処理中の,外への参照列を含む副問合せである場合は,再帰ごとの値を合計した値が出力されます。

(g) 副問合せの結果を格納するキャッシュに関する情報

アクセスパスの統計情報に出力される副問合せの結果を格納するキャッシュに関する情報について,次の表に示します。

表10‒29 アクセスパスの統計情報の出力項目(副問合せの結果を格納するキャッシュに関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Corsubqc_path#

対応するアクセスパスのツリー行番号

UINT8

2

Corsubqc_request_cnt

キャッシュを要求した回数

UINT8

WRAP

3

Corsubqc_exec_cnt

キャッシュにヒットしないで副問合せを実行した回数

UINT8

WRAP

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※

再帰的問合せ内にある,再帰的問合せ名を参照している検索処理中の,副問合せである場合,再帰ごとの値を合計した値が出力されます。

(h) 再帰的問合せに関する情報

アクセスパスの統計情報に出力される再帰的問合せに関する情報について,次の表に示します。

表10‒30 アクセスパスの統計情報の出力項目(再帰的問合せに関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

Recurq_path#

対応するアクセスパスのツリー行番号

UINT8

2

Recurq_row_cnt

再帰的問合せの処理行数

UINT8

WRAP

3

Recurq_start_time

再帰的問合せによる処理の開始日時

再帰的問合せによる処理を開始した日時が,次の形式で出力されます。

YYYY-MM-DDhh:mm:ss.nnnnnn

CHAR

4

Recurq_end_time

再帰的問合せによる処理の終了日時

再帰的問合せによる処理を終了した日時が,次の形式で出力されます。

YYYY-MM-DDhh:mm:ss.nnnnnn

CHAR

5

Recurq_max_recursion

最大再帰数指定の値

UINT8

6

Recurq_recursion_cnt

再帰した数

UINT8

WRAP

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

CHAR出力される内容で示した文字列が出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,空白が出力されることがあります。

WRAP18,446,744,073,709,551,615を超えると,ラップアラウンドして最小値に戻ります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

注※

年(YYYY)は4桁で出力されます。月(MM),日(DD),時(hh),分(mm),および秒(ss)は2桁で出力されます。マイクロ秒(nnnnnn)は6桁で出力されます。桁数が足りない場合は,足りない分,左側に0が補われます。△は半角空白を表します。

(i) SQL文の実行に関する情報

アクセスパスの統計情報に出力されるSQL文の実行に関する情報について,次の表に示します。

表10‒31 アクセスパスの統計情報の出力項目(SQL文の実行に関する情報)

項番

列のタイトル

出力される内容

出力形式

オーバフローが発生した場合

1

SQLexec_result_wrk_size

SQL文の実行結果を格納する領域のサイズ(単位:バイト)

UINT8

(凡例)

UINT8:8バイトの符号なし整数で出力されます。なお,対象のアクセスパスを実行しなかったり,対象のアクセスパスが実行途中だったりした場合は,0または実行途中の値が出力されることがあります。

−:オーバフローは発生しません。または,該当しません。

表に記載されていない出力項目は,すべて保守情報です。

(3) アクセスパスの統計情報に関する注意事項