前書き

■ 対象製品

R-15437-11 HiRDB SQL Tuning Advisor 08-04

（適用OS：Windows 2000，Windows XP，Windows Server 2003，Windows Server 2003 R2，Windows Vista，Windows Server 2008，Windows 7，Windows 8，Windows 8.1，Windows 10，Windows XP (x64)，Windows Server 2003 (x64)，Windows Server 2003 R2 (x64)，Windows Vista (x64)，Windows Server 2008 (x64)，Windows Server 2008 R2 (x64)，Windows 7 (x64)，Windows 8 (x64)，Windows 8.1 (x64)，Windows 10 (x64)，Windows Server 2012，Windows Server 2012 R2，Windows Server 2016）

■ 輸出時の注意

本製品を輸出される場合には，外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上，必要な手続きをお取りください。

なお，不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

HITACHI，HiRDBは，株式会社 日立製作所の商標または登録商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

UNIXは，The Open Groupの米国ならびに他の国における登録商標です。

Microsoft，Windows，Windows ServerおよびWindows Vistaは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名は，それぞれの会社の商標もしくは登録商標です。

■ 発行

2018年4月

■ 著作権

All Rights Reserved. Copyright (C) 2004, 2018, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2004, 2018, Hitachi Solutions, Ltd.


はじめに

＜この章の構成＞

HiRDB SQL Tuning Advisorとは


HiRDB SQL Tuning Advisorとは

HiRDB SQL Tuning Advisorは、SQLの性能上のボトルネックとなっている個所を特定する作業、及びその個所に対策を行う作業を支援する製品です。HiRDB SQL Tuning Advisorには、次の特長があります。

l 大量のSQLの中から性能上問題となるSQLを効率よく見つけ出すことができます。

l 性能上問題となるSQLのチューニングを短時間に効率よく行うことができます。


システムの概要

＜この章の構成＞

システム（プログラム）の目的

SQL性能チューニングを支援する範囲

機器構成


システム（プログラム）の目的

HiRDBが提供するユティリティの１つとしてアクセスパス表示ユティリティがあります。これはHiRDBが実行するSQLに対しSQL最適化処理によって決定したアクセスパスの情報を表示するユティリティで、HiRDBのチューニングに役立てることができます。また、HiRDBのUAPを実行した場合にクライアント上でSQLトレースファイルが出力されます。これは、UAPからどのようなSQLが発行され、それらのステータス情報・実行時間などが格納されます。

しかし、アクセスパス表示ユティリティが表示する情報とSQLトレースファイルの情報はテキスト形式で使いづらいものになっています。HiRDB SQL Tuning Advisorは、これらの情報を元にSQLレベルでの、性能上のボトルネックとなっている個所を特定する作業、及びその個所に対策を行う作業を支援する製品です。


ＳＱＬ性能チューニングを支援する範囲

SQL性能チューニングを支援する範囲

UAP開発時、運用時において、HiRDB SQL Tuning Advisorの各機能がSQL性能チューニングを支援する範囲を次の図に示します。

図　HiRDB SQL Tuning Advisorの各機能がSQL性能チューニングを支援する範囲


機器構成

本製品は、下記の条件を満たすPCマシン上で動作します。

① SQLトレース解析機能を使用する場合は、SQLトレースファイルが存在するPCマシン、またはSQLトレースファイルが存在するマシンからFTPによりファイルを転送することができるPCマシン。

② アクセスパス解析機能を使用する場合は、アクセスパス情報ファイルが存在するPCマシン、またはアクセスパス情報ファイルが存在するマシンからFTPによりファイルを転送することができるPCマシン。

③ ダイナミックブラウジング機能、アクセスパス抽出機能、ディクショナリ表示機能、インデクス提案機能、またはＳＱＬオブジェクト情報表示機能を使用する場合は、HiRDBサーバに接続できるPCマシン。

注）アクセスパス情報ファイルやSQLトレースファイルは、あらかじめHiRDBにアクセスするUAPなどを実行して作成しておく必要があります。

処理対象となるSQLトレースファイル、アクセスパス情報ファイルおよびHiRDBサーバが他マシン上にある場合の機器構成を次の図に示します。図中の網掛けは、使用する機能により必要となる製品、ファイルを示します。

図　機器構成


機能概要

＜この章の構成＞

機能一覧

SQLトレース解析機能

アクセスパス解析機能

ダイナミックブラウジング機能

SQL抽出機能

アクセスパス抽出機能

ディクショナリ表示機能

ガイダンスメッセージ表示機能

インデクス提案機能

ＳＱＬオブジェクト情報表示機能

全体の流れ


機能一覧

HiRDB SQL Tuning Advisorの機能の一覧を次の表に示します。

項番 | 機能名 | 機能
１ | SQLトレース解析機能 | HiRDBクライアントが生成するSQLトレース情報を解析し、UAP，SQLなどの単位で時間集計した値をウィンドウ上に表示します。
２ | アクセスパス解析機能 | HiRDBサーバが生成するアクセスパス情報を解析し、ウィンドウ上に表示します。
３ | アクセスパス集計機能 | アクセスパス情報を解析して、各結合方式と各検索方式の使用件数をグラフ表示します。
４ | ダイナミックブラウジング機能 | ダイアログボックスから入力した任意のSQLからアクセスパス情報を作成し、表示します。
５ | SQL抽出機能 | UAPソースファイルより、SQLを取り出し、ファイル出力します。
６ | アクセスパス抽出機能 | UAPソースファイルもしくはSQLファイルより、アクセスパス情報を作成し、ファイル出力します。
７ | ディクショナリ表示機能 | HiRDBサーバへ接続し、ディクショナリ情報をツリー形式で表示します。
８ | ガイダンスメッセージ表示機能 | 既に読み込み済みのアクセスパス情報を元に、アクセスパス詳細で出力されているガイダンスの一覧を表示します。
９ | インデクス提案機能 | 既に読み込み済みのアクセスパス情報と、最新のディクショナリ情報を元に、適切なインデクス定義を提案します。
10 | SQLオブジェクト情報表示機能 | HiRDBサーバのSQLオブジェクトバッファの内容を取得して解析し、表示します。


ＳＱＬトレース解析機能

SQLトレース解析機能

（１）機能

HiRDBクライアントが生成するSQLトレース情報を解析し、UAP，SQLなどの単位で時間集計した値をウィンドウ上に表示します。各種SQL処理時間集計、長時間実行SQLの抽出等の作業を支援するため、次のようなことができます。

l 各SQLの処理時間、UAP側処理時間表示

l 接続毎、トランザクション毎、カーソル毎の、各種集計。オペレーションコード別集計、UAP側の時間集計等

l 長時間実行SQLのフィルタリング

l 処理時間によるSQLのソート

l 時間による範囲指定での集計

（２）利点

l 画面上の該当SQLをクリックする等の簡単な操作でSQLの集計、抽出ができます。

l 性能上問題となる箇所の特定を容易に行うことが出来ます。

l アクセスパス解析機能と連携することにより、抽出したSQLのアクセスパス情報を簡単な操作で表示することができるので、SQLトレース上の実際の処理時間に対しアクセスパスに問題があるかどうかを簡単に調べることができます。

（３）環境

SQLトレースファイルが本ユティリティの稼動マシンと同一マシン上に存在する場合（UAPを実行するマシンと同じマシンで本ユティリティが稼動する場合）は、スタンドアロンで処理を行います。

また、SQLトレースファイルが本ユティリティの稼動マシンと異なるマシンに存在する場合（UNIX版HiRDBクライアントでSQLトレースファイルが生成された場合など）は、SQLトレースファイルを自動的にFTPで取り込み処理を行います。従って、本ユティリティが稼動するマシンとSQLトレースファイルが存在するマシンがTCP/IPで接続されており、FTPでファイル転送が可能である必要があります。

UNIX版HiRDBクライアントでSQLトレースファイルが生成された場合の動作環境の概要を次の図に示します。

図　SQLトレース解析機能の動作環境(UNIX版HiRDBｸﾗｲｱﾝﾄでSQLﾄﾚｰｽﾌｧｲﾙが生成された場合)

（４）使用例

実行時間が３秒以上かかっているSQLを抽出して、そのSQLのアクセスパス情報を表示させる手順を次に示します。各ステップの詳細は“→”で示した個所を参照してください。

1. 環境設定ダイアログで環境の設定を行います。このステップはHiRDB SQL Tuning Advisor をインストール後に１回だけ行えば十分です。（→環境設定）

2. 対象ファイル指定ダイアログで解析対象とするSQLトレースファイルおよびアクセスパス情報ファイルを指定します。（→対象ファイル指定）

3. 抽出条件指定ダイアログでSQL時間に３秒以上を指定して、抽出条件に追加します。（→フィルタリング指定）

4. メニュー[ファイル(F)] - [実行(E)] - [アクセスパス解析]を選択して、アクセスパス情報ファイルを読み込みます。（→アクセスパス解析機能詳細）

5. メニュー[ファイル(F)]-[実行]-[SQLトレース解析]-[SQL一覧出力]を選択して、SQLトレースファイルを読み込み、SQL単位でのSQLトレース集計画面を表示します。（→SQLトレース解析機能詳細）

6. SQL単位でのSQLトレース集計画面で、アクセスパス情報を表示させたいSQLを選択して、メニュー[表示(V)] - [アクセスパス(A)] を選択すると、アクセスパス情報が表示されます。（→アクセスパス詳細表示）


アクセスパス解析機能

（１）機能

HiRDBサーバが生成するアクセスパス情報を解析し、UAP毎およびSQL毎のアクセスパス情報をウィンドウ上に表示します。　テーブル間の結合関係をグラフィカルに表示することもできます。　ジョイン方法等について、性能的に問題のある箇所（テーブルスキャン、クロスジョイン等）を検出して警告するガイダンスを表示することもできます。

（２）利点

l 性能的に問題のある箇所（テーブルスキャン、クロスジョイン等）の特定を容易に行うことが出来ます

l SQLトレース解析機能と連携することにより、任意のSQLのSQLトレース情報を簡単な操作で表示することができるので、アクセスパス情報で示されるコストに対し、SQLトレース上の実際の処理時間を簡単に知ることができます。

（３）環境

アクセスパス情報ファイルが本ユティリティの稼動マシンと同一マシン上に存在する場合（Windows版HiRDBサーバまたはクライアントが稼動するマシンと同じマシンで本ユティリティが稼動する場合）は、スタンドアロンで処理を行います。

また、 アクセスパス情報ファイルが本ユティリティの稼動マシンと異なるマシンに存在する場合（UNIX版HiRDBサーバでアクセスパス情報ファイルが生成された場合も含め）は、アクセスパス情報ファイルを自動的にFTPで取り込み処理を行います。従って、本ユティリティが稼動するマシンとアクセスパス情報ファイルが存在するマシンがTCP/IPで接続されており、FTPでファイル転送が可能である必要があります。

UNIX版HiRDBサーバでアクセスパス情報ファイルが生成された場合の動作環境の概要を次の図に示します。

物理的な接続

データ（ファイル等）の流れ

図　アクセスパス解析機能の動作環境(UNIX版HiRDBサーバおよびｸﾗｲｱﾝﾄでｱｸｾｽﾊﾟｽ情報ﾌｧｲﾙが生成された場合)

（４）使用例

問い合わせの総コストが大きいSQLを選択して、そのSQLのSQLトレース情報を表示させる手順を次に示します。各ステップの詳細は“→”で示した個所を参照してください。

1. 環境設定ダイアログで環境の設定を行います。このステップはHiRDB SQL Tuning Advisor をインストール後に１回だけ行えば十分です。（→環境設定）

2. 対象ファイル指定ダイアログで解析対象とするSQLトレースファイルおよびアクセスパス情報ファイルを指定します。（→対象ファイル指定）

3. メニュー[ファイル(F)] - [実行(E)] - [SQLトレース解析] を選択して、SQLトレースファイルを読み込みます。（→SQLトレース解析機能詳細）

4. メニュー[ファイル(F)] - [実行(E)] - [アクセスパス解析]を選択して、アクセスパス情報ファイルを読み込みます。（→アクセスパス解析機能詳細）

5. メニュー[表示(V)] - [展開(O)] を選択して、アクセスパス情報画面（SQL一覧）を表示します。（→SQL単位でのアクセスパス情報画面）

6. アクセスパス情報画面（SQL一覧）に[ﾄｰﾀﾙｺｽﾄ]の列が表示されていない場合は、列の選択ダイアログで[ﾄｰﾀﾙｺｽﾄ]の列を表示させます。（→列の選択）

7. アクセスパス情報画面（SQL一覧）で、列ヘッダ[ﾄｰﾀﾙｺｽﾄ]をクリックして、問い合わせの総コストの順に行を並べ替えます。（→アクセスパス解析機能詳細）

8. アクセスパス情報画面（SQL一覧）で、問い合わせの総コストが大きいSQLを選択して、メニュー[表示(V)][SQLトレース(T)]を選択すると、SQLトレース情報が表示されます。（→SQLトレース詳細表示）


アクセスパス集計機能

（１）機能

A5
アクセスパス情報を解析して、各結合方式と各検索方式の使用件数をグラフ表示します。各結合方式と各検索方式の使用件数を、ガイダンスの有るものと無いものに分けて表示します。また、インデクス毎にその使用件数をグラフ表示します。

（２）利点

l 性能的に問題のある箇所（テーブルスキャン、クロスジョイン等）の数を視覚的に把握することが出来ます。

l アクセスパス解析機能を使用する前に、性能的に問題のあるSQLを絞り込むことが出来ます。

（３）環境

本プログラムの稼動するマシンにＨｉＲＤＢクライアントがインストールされており、ＨｉＲＤＢサーバと接続できる環境が必要です。


ダイナミックブラウジング機能

（１）機能

ダイアログボックスから入力した任意のSQLからアクセスパス情報を作成し、表示します（前処理のみで、SQLの実行はおこないません）。　ダイアログボックスから、SQLと同時にSQLを実行する環境変数（最適化レベルなど）を入力することができるので、最適化レベルなどを変更した場合のアクセスパス情報を見ることができます。

（２）利点

l UAP中の性能的に問題のあるSQLを修正する場合に、UAPを修正する前に、修正後のSQLのアクセスパス情報を見ることができます。

l 環境変数、SQL記述を変えながら最適なSQLを調べることができます。

（３）環境

本ユティリティの稼動するマシンにHiRDBクライアントがインストールされており、HiRDBサーバと接続できる環境が必要です。


ＳＱＬ抽出機能

SQL抽出機能

（１）機能

UAPソースファイルより、SQLを取り出し、ファイル出力します。

（２）利点

l 長大なソースファイルからSQLのみを容易に抽出できます。

l 各SQLにおいて環境変数パラメタを変更しpdsqlを用いて実行するなどの調査したい場合に便利です。

l 出力ファイルは、アクセスパス抽出機能の入力として利用できます。

（３）環境

本ユティリティの稼動するマシンにHiRDBクライアントがインストールされている必要があります。


アクセスパス抽出機能

（１）機能

UAPソースファイルもしくはSQL文だけを格納したSQLファイルより、アクセスパス情報を作成し、ファイル出力します。

（２）利点

l プログラムを実行することなくUAP上のSQLのアクセスパスを一回の操作で抽出することができます。

（３）環境

本ユティリティの稼動するマシンにHiRDBクライアントがインストールされており、HiRDBサーバと接続できる環境が必要です。


ディクショナリ表示機能

（１）機能

HiRDBサーバへ接続し、ディクショナリ情報をツリー形式で表示します。

（２）利点

l HiRDBサーバ上の表・インデクスの定義を簡単に参照でき、性能チューニング作業の効率が向上します。

l SQLトレース、アクセスパスの各情報を参照する際、ディクショナリ情報を併せて表示することにより、詳細な情報をつかみやすくなります。

（３）環境

本ユティリティの稼動するマシンにHiRDBクライアントがインストールされており、HiRDBサーバと接続できる環境が必要です。


ガイダンスメッセージ表示機能

（１）機能

既に読み込み済みのアクセスパス情報を元に、アクセスパス詳細で出力されているガイダンスの一覧を表示します。

（２）利点

l アクセスパス詳細情報の解読ノウハウが無くても、問題を見つけることが出来ます。

l アクセスパス詳細を１つずつ見ることなく、大量に存在するアクセスパス情報ファイルの中から、問題があるＳＱＬを見つけることが出来ます。

（３）環境

アクセスパス解析を行なえることが前提となっております。


インデクス提案機能

（１）機能

既に読み込み済みのアクセスパス情報と、最新のディクショナリ情報を元に、適切なインデクス定義を提案します。

（２）利点

l インデクスに対する性能チューニングノウハウが無くても、効果的なインデクスを設計できます。

（３）環境

本ユティリティの稼動するマシンにＨｉＲＤＢクライアントがインストールされており、ＨｉＲＤＢサーバと接続できる環境が必要です。


ＳＱＬオブジェクト情報表示機能

SQLオブジェクト情報表示機能

（１）機能

HiRDBサーバのSQLオブジェクトバッファに格納されているSQLオブジェクト毎の利用情報を表示します。

（２）利点

l 処理時間のかかるSQLを特定することが出来ます。

l SQLオブジェクトの再利用状況を把握することが出来ます。

（３）環境

本ユティリティの稼動するマシンにHiRDBクライアントがインストールされており、HiRDBサーバと接続できる環境が必要です。


全体の流れ

HiRDB SQL Tuning Advisorの全体的な画面の流れを次の図に示します。

（凡例）

     ：画面の流れ

①：SQLトレース解析機能の画面の流れ ⑤：ディクショナリ表示機能の画面の流れ

②：アクセスパス解析機能の画面の流れ ⑥：アクセスパス集計機能の画面の流れ

③：ダイナミックブラウジング機能の画面の流れ ⑦：インデクス提案機能の画面の流れ

④：ガイダンスメッセージ表示機能の画面の流れ ⑧：SQLオブジェクト情報表示機能の画面の流れ

※１：アクセスパス解析機能からSQLトレースの詳細画面を表示させる場合、予めSQLトレース解析機能を開始してSQLトレースファイルを読み込んでおく必要があります。

※２：SQLトレース解析機能からアクセスパスの詳細画面を表示させる場合、予めアクセスパス解析機能を開始してアクセスパス情報ファイルを読み込んでおく必要があります。

※３：インデクス提案機能またはガイダンスメッセージ表示機能を使用する場合、予めアクセスパス解析機能を開始してアクセスパス情報ファイルを読み込んでおく必要があります。

図　全体的な画面の流れ


使い方

＜この章の構成＞

メインウィンドウ

SQLトレース解析機能詳細

アクセスパス解析機能詳細

ダイナミックブラウジング機能詳細

SQL抽出機能詳細

アクセスパス抽出機能詳細

ディクショナリ表示機能詳細

ガイダンスメッセージ表示機能詳細

ＳＱＬオブジェクト情報表示機能詳細

インデクス提案機能

環境設定

対象ファイル指定

フィルタリング指定

SQLトレース詳細表示

アクセスパス詳細表示

UAP統計情報

列の選択

印刷／印刷プレビュー

検索機能

接続情報設定機能

指定行への移動

ウィンドウ管理機能

行の並び替え

行に対するマーキング


メインウィンドウ

プログラムを起動すると、メインウィンドウが表示されます。

このウインドウは、各機能を実行したときの基となるウインドウで、プログラム操作を行うためのメニュー及び、ツールバーを持っています。

n 提供しているメニュー

[ファイル(F)] - [実行(E)] - [SQLトレース解析] - [UAP一覧出力]

あらかじめ設定されているSQLトレースファイルを読み込み、SQLトレースの集計情報（UAP単位）を表示します。

詳しくは「SQLトレース解析機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [SQLトレース解析] - [接続一覧出力]

あらかじめ設定されているSQLトレースファイルを読み込み、SQLトレースの集計情報（コネクション単位）を表示します。

詳しくは「SQLトレース解析機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [SQLトレース解析] - [SQL一覧出力]

あらかじめ設定されているSQLトレースファイルを読み込み、SQLトレースの集計情報（SQL単位）を表示します。

詳しくは「SQLトレース解析機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [アクセスパス解析] - [ＵＡＰ一覧出力]

あらかじめ設定されているアクセスパス情報ファイルを読み込み、アクセスパスの一覧情報を表示します。

詳しくは「アクセスパス解析機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [アクセスパス解析] - [ＳＱＬ一覧出力]

あらかじめ設定されているアクセスパス情報ファイルを読み込み、アクセスパスのＳＱＬ一覧情報を表示します。

詳しくは「アクセスパス解析機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [アクセスパス集計]

アクセスパス情報ファイルおよび、SQLトレースファイルより、結合方式、検索方式、インデクス別の集計行い、表示します。

詳しくは「アクセスパス集計機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [ダイナミックブラウジング...]

ダイナミックブラウジングを行います。詳しくは「ダイナミックブラウジング機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [SQL抽出...]

指定されたUAPファイルよりSQLを抽出し、ファイルに保存します。

詳しくは「SQL抽出機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [アクセスパス抽出...]

指定されたUAPファイルまたはSQLファイルよりアクセスパス情報を生成し、ファイルに保存します。

詳しくは「アクセスパス抽出機能詳細」を参照してください。

[ファイル(F)] - [実行(E)] - [ガイダンスメッセージ表示]

解析済みのアクセスパスに対し、ガイダンス情報を取り出し、情報を一覧に表示します。

詳しくは「ガイダンスメッセージ表示」を参照してください。

[ファイル(F)] - [実行(E)] - [インデクス提案]

解析済みのアクセスパスに対し、ＳＱＬ毎にインデクス定義の提案を行います。

詳しくは「インデクス提案」を参照してください。

[ファイル(F)] - [実行(E)] - [ＳＱＬオブジェクト情報表示]

ＳＱＬオブジェクト情報を取得し、表示します。

詳しくは「ＳＱＬオブジェクト情報表示」を参照してください。

[ファイル(F)] - [保存(A)...　　Ctrl+S]

現在フォーカスがある子ウインドウが解析・検索結果の表示画面以外のとき、メニュー項目が表示されます。

解析・検索結果の表示画面のときは、メニュー項目が表示されません。

画面による選択可否の状態を、表7に示します。

現在表示しているＳＱＬオブジェクト情報をＣＳＶ形式でファイルに出力します。

アクセスパス情報詳細をバイナリ形式でファイルに出力します。

テキスト画面の情報をテキスト形式またはリッチテキスト形式で出力します。リッチテキスト形式では、まれに画面に表示されてない空行がファイル上に入ることがあります。

[ファイル(F)] - [解析結果を保存(A)...　　Ctrl+S]

現在フォーカスがある子ウインドウが解析・検索結果の表示画面のとき、メニュー項目が表示され選択可能となります。

解析・検索結果の表示画面以外のときは、メニュー項目が表示されません。

解析・検索結果のすべてをＣＳＶ形式でファイルに出力します。

画面上の列順序、表示状態に依存せず、すべての列を出力します。

[ファイル(F)] - [表示データのみを保存(D)...]

現在フォーカスがある子ウインドウが解析・検索結果の表示画面のとき、メニュー項目が表示され選択可能となります。

解析・検索結果の表示画面以外のときは、メニュー項目が表示されません。

現在表示しているＳＱＬトレース情報、アクセスパス情報の一覧をＣＳＶ形式でファイルに出力します。

画面上の列順序、表示状態に従って、列を出力します。

[ファイル(F)] - [テキスト保存(T)...]

画面による選択可否の状態を、表7に示します。

アクセスパス情報をテキスト形式でファイルに出力します。

[ファイル(F)] - [プリンタの設定(S)...]

プリンタの設定を行います。

[ファイル(F)] - [印刷プレビュー(V)...]

印刷プレビューを表示します。

詳しくは「印刷／印刷プレビュー」を参照してください。

本メニューが有効となる画面を、表4に示します。

[ファイル(F)] - [印刷(P)...　　Ctrl+P]

印刷します。

詳しくは「印刷／印刷プレビュー」を参照してください。

本メニューが有効となる画面を、表4に示します。

[ファイル(F)] - [終了(X)]

HiRDB SQL Tuning Advisorを終了します。

[編集(E)]

本メニューが有効となる画面を、表１、表５および表６に示します。

[編集(E)] – [コピー(C)　　Ctrl+C]

選択されている情報をコピーします。コピーした情報は、クリップボード等に貼付けを行うことが出来ます。

[編集(E)] – [すべて選択(A)　　Ctrl+A]

フォーカスがあるウインドウの情報をすべて選択している状態にします。

[編集(E)] – [検索(F)...　　Ctrl+F]

検索ダイアログを表示します。詳しくは「検索機能」を参照してください。

[編集(E)] – [移動(J)...　　Ctrl+J]

指定行への移動ダイアログを表示します。詳しくは「指定行への移動」を参照してください。

[編集(E)] – [マーク(M)]-[付ける(C) Ctrl+F1]

現在選択している範囲の行にマークを付けます。

[編集(E)] – [マーク(M)]-[外す(E) Ctrl+F2]

現在選択している範囲の行にあるマークを外します。

[編集(E)] – [マーク(M)]-[上へ移動(P)Ctrl+F11]

現在セルカーソルがあるセルの行から上方向に存在するマークを検索し、マークがある行にセルカーソルを移します。

[編集(E)] – [マーク(M)]-[下へ移動(N)Ctrl+F12]

現在セルカーソルがあるセルの行から下方向に存在するマークを検索し、マークがある行にセルカーソルを移します。

[編集(E)] – [マーク(M)]-[絞込み表示(D) Ctrl+F5]

絞込み表示状態である場合、メニューが[絞込み解除(D) Ctrl+F5]となります。[絞込み表示(D)Ctrl+F5]を選択すると、マークが付いている行だけを表示します。

[マーク(M)]の各操作については、「行に対するマーキング」も参照してください。

[表示(V)] – [ディクショナリ(D)]

HiRDBサーバにアクセスし、表・インデクスなどの定義情報を表示します。

詳しくは「ディクショナリ表示機能詳細」を参照してください。

[表示(V)] – [ウインドウ管理(W)]

ウインドウ管理画面を表示します。

詳しくは「ウィンドウ管理機能」を参照してください。

[表示(V)] – [SQLトレース(T)]

現在フォーカスがある子ウインドウにて、選択されているSQLトレース集計情報に対応する、SQLトレースの情報を表示します。

本メニューが有効となるのは、SQLトレースの解析結果を集計した各画面です。

詳しくは「SQLトレース詳細表示」を参照してください。

[表示(V)] – [SQL一覧(S)]

現在フォーカスがある子ウインドウにて、選択されているSQLトレース集計情報に対応する、SQLトレースの情報をSQLの一覧として表示します。

本メニューが有効となるのは、SQLトレースの解析結果を集計したUAP単位での集計画面および接続単位での集計画面です。

詳しくは「SQLトレース解析機能詳細」を参照してください。

[表示(V)] – [SQLトレース候補一覧(L)]

現在フォーカスがある子ウインドウにて、選択されているアクセスパス情報に対応する候補として、SQLトレース集計情報（SQL一覧）として表示します。

本メニューが有効となるのは、アクセスパス解析結果のSQL一覧画面およびアクセスパス詳細画面です。

詳しくは「SQLトレース解析機能詳細」を参照してください。

[表示(V)] – [アクセスパス(A)]

現在フォーカスがある子ウインドウがアクセスパス情報の一覧の場合、選択されているセル情報に対応する、アクセスパス詳細情報を表示します。詳しくは「アクセスパス詳細表示」を参照してください。

現在フォーカスがある子ウインドウがSQLトレース集計情報の一覧の場合、選択されているセル情報に対応する、アクセスパス詳細情報もしくは対応する候補としてアクセスパス情報のSQL一覧を表示します。

ＳＱＬ文が下記に示す条件のいずれかに当てはまるときは、アクセスパス情報と対応付けすることができません。

・改行を含んでいるとき

・定義系ＳＱＬにてアクセスパスが生成される記述をしたとき

対応する候補がない場合、SQLトレースファイルの情報を表示します。

詳しくは「アクセスパス詳細表示」を参照してください。

[表示(V)] – [UAP統計(U)]

現在フォーカスがある子ウインドウにて、選択されているSQLトレース集計情報に対応する、UAP統計情報を表示します。

本メニューが有効となるのは、SQLトレースの解析結果 UAP単位での集計画面のときのみです。

[表示(V)] – [SQL文(V)]

「ガイダンスメッセージ表示機能」および、「インデクス提案機能」にて使用します。

チェックすることにより、再実行を行なわずにＳＱＬ文も表示します。

[表示(V)] – [列の選択(N)...]

各種情報において、表示する項目を選択します。

詳しくは「列の選択」を参照してください。

本メニューが有効となる画面を表２に示します。

[表示(V)] – [展開(O)]

現在フォーカスがある子ウインドウにて、選択されているSQLトレース集計情報もしくはアクセスパス情報に対応する詳細情報を、別の子ウインドウにて表示します。

本メニューが有効となる画面を表３に示します。

[オプション(O)] – [環境設定(E)...]

本プログラムの環境を設定します。

詳しくは「環境設定」を参照してください。

[オプション(O)] – [対象ファイル指定(O)...]

解析対象とするSQLトレースファイルおよびアクセスパス情報ファイルを指定します。

詳しくは「対象ファイル指定」を参照してください。

[オプション(O)] – [フィルタリング指定(F)...]

解析対象とする条件を指定します。

詳しくは「フィルタリング指定」を参照してください。

[ウインドウ(W)] – [上下に並べて表示(H)]

子ウインドウを上下に並べた形式に整列します。

[ウインドウ(W)] – [左右に並べて表示(V)]

子ウインドウを左右に並べた形式に整列します。

[ウインドウ(W)] – [重ねて表示(C)]

子ウインドウを重ねて表示した形式に整列します。

[ウインドウ(W)] – [アイコンの整列(A)]

最小化されている子ウインドウを整列します。

[ヘルプ(H)] – [トピックの検索(H)　　F1]

ヘルプを表示します。

[ヘルプ(H)] – [バージョン情報(A)...]

バージョン情報ダイアログを表示します。

表１　[コピー(C)][すべて選択(A)][検索(F)]メニューが有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
 | SQLトレースの詳細画面
 | アクセスパスの詳細画面（テキスト形式）
 | 中間結果情報画面
 | UAP統計画面
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)
アクセスパス解析機能 ダイナミックブラウジング機能 | アクセスパスの詳細画面（ＧＵＩ形式）
ディクショナリ表示機能 | データディクショナリの詳細情報画面
ガイダンスメッセージ表示機能 | ガイダンスメッセージ一覧画面
インデクス提案機能 | インデクス提案画面
SQLオブジェクト情報表示機能 | SQLオブジェクト情報表示画面
 | SQLオブジェクト内容画面
（エラーメッセージ） | メッセージ画面

表２　[列の選択(N)]メニューが有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
 | SQLトレースの詳細画面
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)
SQLオブジェクト情報表示機能 | SQLオブジェクト情報表示画面

表３　[展開(O)]メニューが有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)

表４　[印刷(P)][印刷ﾌﾟﾚﾋﾞｭｰ(V)]が有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
 | SQLトレースの詳細画面
 | アクセスパスの詳細画面（テキスト形式）
 | 中間結果情報画面
 | UAP統計画面
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)
アクセスパス解析機能 ダイナミックブラウジング機能 | アクセスパスの詳細画面（ＧＵＩ形式）
ディクショナリ表示機能 | データディクショナリ情報画面
 | データディクショナリの詳細情報画面
ガイダンスメッセージ表示機能 | ガイダンスメッセージ一覧画面
インデクス提案機能 | インデクス提案画面
SQLオブジェクト情報表示機能 | SQLオブジェクト情報表示画面
 | SQLオブジェクト内容画面
（エラーメッセージ） | メッセージ画面

表５　[移動(J)]メニューが有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
 | SQLトレースの詳細画面
 | UAP統計画面
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)
ディクショナリ表示機能 | データディクショナリの詳細情報画面

表６　[マーク(M)]メニューが有効となる画面一覧

機能 | 画面
SQLトレース解析機能 | SQLトレース集計情報画面(UAP単位)
 | SQLトレース集計情報画面(コネクション単位)
 | SQLトレース集計情報画面(トランザクション単位)
 | SQLトレース集計情報画面(SQL単位)
 | SQLトレースの詳細画面
 | UAP統計画面
アクセスパス解析機能 | アクセスパス情報画面(UAP一覧)
 | アクセスパス情報画面(SQL一覧)
SQLオブジェクト情報表示機能 | SQLオブジェクト情報表示画面
ディクショナリ表示機能 | データディクショナリの詳細情報画面

表７　[保存(A)][テキスト保存(T)]メニューの選択可否一覧

機能 | 画面 | [保存(A)] | [テキスト保存(T)]
SQLトレース解析機能 | SQLトレース集計情報画面 (UAP単位) | － | 不可
 | SQLトレース集計情報画面 (コネクション単位) | － | 不可
 | SQLトレース集計情報画面 (トランザクション単位) | － | 不可
 | SQLトレース集計情報画面 (SQL単位) | － | 不可
 | SQLトレースの詳細画面 | － | 不可
 | アクセスパスの詳細画面 （テキスト形式） | 選択可 | 不可
 | 中間結果情報画面 | 選択可 | 不可
 | UAP統計画面 | － | 不可
アクセスパス解析機能 | アクセスパス情報画面 (UAP一覧) | － | 不可
 | アクセスパス情報画面 (SQL一覧) | － | 不可
アクセスパス解析機能 ダイナミックブラウジング機能 | アクセスパスの詳細画面 （ＧＵＩ形式） | 選択可 | 選択可
アクセスパス集計機能 | アクセスパス集計画面 | 不可 | 不可
ディクショナリ表示機能 | データディクショナリのツリー画面 | 不可 | 不可
 | データディクショナリの詳細情報画面 | － | 不可
ガイダンスメッセージ表示機能 | ガイダンスメッセージ一覧画面 | 選択可 | 不可
インデクス提案機能 | インデクス提案画面 | 選択可 | 不可
SQLオブジェクト情報表示機能 | SQLオブジェクト情報表示画面 | 選択可 | 不可
 | SQLオブジェクト内容画面 | 選択可 | 不可
ウインドウ管理 | ウインドウ管理画面 | 不可 | 不可
（エラーメッセージ） | メッセージ画面 | 選択可 | 不可

n 提供しているツールバー

以下にツールバーの各ボタンに対応するメニュー項目を示します。

  SQLトレース解析

  アクセスパス解析

    アクセスパス集計

* 　　ダイナミックブラウジング

    SQL抽出

    アクセスパス抽出

    ガイダンスメッセージ表示

    インデクス提案

    SQLオブジェクト情報表示

    ディクショナリ

    SQLトレース

    UAP統計

* アクセスパス

    保存

    テキスト保存

    印刷

    印刷プレビュー

    コピー

    検索

    トピックの検索

・ [image] 　SQLトレース解析はポップアップメニューの中からメニューを選びます。

・ [image] 　アクセスパス解析はポップアップメニューの中からメニューを選びます。

・ ボタンにマウスカーソルを合わせると、そのボタンについての説明がポップアップで表示されます。


ＳＱＬトレース解析機能詳細

SQLトレース解析機能詳細

「対象ファイル指定」にて設定したSQLトレースファイルを読み込み、SQLトレースの集計情報を表示します。ファイルが指定されていなかったり、SQLトレースとして有効なファイルでない場合はメッセージを表示します。有効なファイルが１つでも存在したときは、操作により表示内容が異なります。

l [ファイル(F)]-[実行]-[SQLトレース解析]-[UAP一覧出力]を行ったときは、UAP単位でのSQLトレース集計画面を表示します。

l [ファイル(F)]-[実行]-[SQLトレース解析]-[接続一覧出力]を行ったときは、コネクション単位でのSQLトレース集計画面を表示します。

l [ファイル(F)]-[実行]-[SQLトレース解析]-[SQL一覧出力]を行ったときは、SQL単位でのSQLトレース集計画面を表示します。

SQLトレース解析機能の各画面の表形式の項目の説明は、「SQLトレース表示項目」を参照願います。

SQLトレース解析機能の各画面に共通して操作できる内容は、「解析・検索結果の表示画面」を参照願います。

＜この節の構成＞

UAP単位でのSQLトレース集計画面

コネクション単位でのSQLトレース集計画面

トランザクション単位でのSQLトレース集計画面

SQL単位でのSQLトレース集計画面


ＵＡＰ単位でのＳＱＬトレース集計画面

UAP単位でのSQLトレース集計画面

本画面では、参照したいUAPの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているUAP情報に対応する情報としてコネクション単位での集計情報が表示されます。（→コネクション単位でのSQLトレース集計画面）本操作は、ダブルクリックでも同じ結果が得られます。

l メニュー[表示(V)][SQLトレース(T)]：選択されているUAP情報に対応する情報としてSQLトレース詳細情報が表示されます。（→SQLトレース詳細表示）

l メニュー[表示(V)][SQL一覧(S)]：選択されているUAP情報に対応する情報としてSQL単位での集計情報が表示されます。（→SQL単位でのSQLトレース集計画面）

l メニュー[表示(V)][UAP統計(U)]：選択されているUAP情報に対応する情報としてUAP統計情報が表示されます。（→UAP統計情報）


コネクション単位でのＳＱＬトレース集計画面

コネクション単位でのSQLトレース集計画面

本画面では、参照したいコネクションの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているコネクション情報に対応する情報としてトランザクション単位での集計情報が表示されます。（→トランザクション単位でのSQLトレース集計画面）本操作は、ダブルクリックでも同じ結果が得られます。

l メニュー[表示(V)][SQLトレース(T)]：選択されているコネクション情報に対応する情報としてSQLトレース詳細情報が表示されます。（→SQLトレース詳細表示）

l メニュー[表示(V)][SQL一覧(S)]：選択されているUAP情報に対応する情報としてSQL単位での集計情報が表示されます。（→SQL単位でのSQLトレース集計画面）

l メニュー[表示(V)][UAP統計(U)]：選択されているUAP情報に対応する情報としてUAP統計情報が表示されます。（→UAP統計情報）


トランザクション単位でのＳＱＬトレース集計画面

トランザクション単位でのSQLトレース集計画面

本画面では、参照したいトランザクションの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているトランザクション情報に対応する情報としてSQL単位での集計情報が表示されます。（→SQL単位でのSQLトレース集計画面）本操作は、ダブルクリックでも同じ結果が得られます。

l メニュー[表示(V)][SQLトレース(T)]：選択されているトランザクション情報に対応する情報としてSQLトレース詳細情報が表示されます。（→SQLトレース詳細表示）

l メニュー[表示(V)][SQL一覧(S)]：選択されているUAP情報に対応する情報としてSQL単位での集計情報が表示されます。（→SQL単位でのSQLトレース集計画面）


ＳＱＬ単位でのＳＱＬトレース集計画面

SQL単位でのSQLトレース集計画面

本画面では、参照したいSQLの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているSQL情報に対応する情報としてSQLトレース詳細情報が表示されます。（→SQLトレース詳細表示）本操作は、メニュー[表示(V)][SQLトレース(T)]または、ダブルクリックでも同じ結果が得られます。

l メニュー[表示(V)][アクセスパス(A)]：選択されているSQL情報に対応する情報としてアクセスパス情報が表示されます。（→アクセスパス詳細表示）対応する情報がない場合、存在しない旨のメッセージを表示します。

l メニュー[表示(V)][SQLトレース(T)]：選択されているSQL情報に対応する情報としてSQLトレース詳細情報が表示されます。（→SQLトレース詳細表示）


アクセスパス解析機能詳細

「対象ファイル指定」にて設定したアクセスパス情報ファイルを読み込み、アクセスパスの情報を一覧として表示します。ファイルが指定されていなかったり、アクセスパス情報として有効なファイルでない場合はメッセージを表示します。アクセスパス情報として有効なファイルは、HiRDBサーバ側で出力されたアクセスパス情報ファイルまたは、クライアント側で出力されたアクセスパス情報ファイルです。アクセスパス情報ファイルを出力するには、クライアント環境変数を設定します。詳しくはマニュアル「ＵＡＰ開発ガイド」を参照してください。有効なファイルが１つでも存在したとき、[ファイル(F)]-[実行]-[アクセスパス解析]を行うと、最初に表示されるのは、UAP単位でのアクセスパス情報画面です。

アクセスパス解析機能の各画面の表形式の項目の説明は、「アクセスパス表示項目」を参照願います。

アクセスパス解析機能の各画面に共通して操作できる内容は、「解析・検索結果の表示画面」を参照願います。

＜この節の構成＞

UAP単位でのアクセスパス情報画面

SQL単位でのアクセスパス情報画面


ＵＡＰ単位でのアクセスパス情報画面

UAP単位でのアクセスパス情報画面

本画面では、参照したいUAPの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているUAP情報に対応する情報としてSQL一覧が表示されます。（→SQL単位でのアクセスパス情報画面）本操作は、ダブルクリックでも同じ結果が得られます。


ＳＱＬ単位でのアクセスパス情報画面

SQL単位でのアクセスパス情報画面

本画面では、参照したいSQLの情報[行]（項目[列]は特定せず）を選択した状態にて、下記に示す画面遷移が行えます。

l メニュー[表示(V)][展開(O)]：選択されているSQL情報に対応する情報としてアクセスパス情報を表示します。（→アクセスパス詳細表示）本操作はダブルクリックでも同じ結果が得られます。

l メニュー[表示(V)][SQLトレース候補一覧(L)]：選択されているSQL情報に対応する情報としてSQL単位でのSQLトレース集計画面が表示されます。対応する情報がない場合、存在しない旨のメッセージを表示します。

l メニュー[表示(V)][アクセスパス(A)]：選択されているSQL情報に対応する情報としてアクセスパス情報を表示します。（→アクセスパス詳細表示）


アクセスパス集計機能詳細

（１）概要

アクセスパス情報を解析して、各結合方式と各検索方式の使用件数をグラフ表示します。各結合方式と各検索方式の使用件数を、ガイダンスの有るものと無いものに分けて表示します。中間結果情報を使用した集計を行なうこともできます。グラフをダブルクリックすると、選択した結合方式または検索方式を使用しているSQLに解析対象を絞り込んでから、アクセスパス解析機能を起動します。

アクセスパス情報と中間結果情報はアクセスパス情報ファイルとSQLトレースファイルから入力します。入力するアクセスパス情報ファイルとSQLトレースファイルは、アクセスパス解析機能と同様に、対象ファイル指定で指定します。

インデクス毎に、その使用件数をグラフ表示します。使用されていないインデクスも表示することができます。使用されていないインデクスを削除するDROP INDEX文を生成することができます。

（２）前提条件

l 使用されていないインデクスも表示する場合は、本プログラムの稼動するマシンにＨｉＲＤＢクライアントがインストールされており、ＨｉＲＤＢサーバと接続できる環境が必要です。

l 入力するアクセスパス情報ファイルは、サーババージョン07-01以降が出力するアクセスパス情報ファイルである必要があります。

（３）利点

l 性能的に問題のある箇所（テーブルスキャン、クロスジョイン等）の数を視覚的に把握することが出来ます。

l アクセスパス解析機能を使用する前に、性能的に問題のあるSQLを絞り込むことが出来ます。

（４）操作手順

次の手順で、アクセスパス集計機能を実行します。

1. 対象ファイル指定でアクセスパス情報ファイルとSQLトレースファイルを指定します。

2. メニューから、[ファイル][実行][アクセスパス集計]を選択します。アクセスパス集計ダイアログが表示されます。

3. アクセスパス集計ダイアログを［ＯＫ］ボタンを押して閉じると、アクセスパス集計画面が表示されます。アクセスパス集計画面には[Join+Scan]タブと[Index]タブがあります。最初は [Join+Scan]タブが選択されています。

4. インデクスの使用件数のグラフを表示する場合は、アクセスパス集計画面で[Index]タブを選択します。

＜この節の構成＞

アクセスパス集計ダイアログ

アクセスパス集計画面([Join+Scan]タブ)

アクセスパス集計画面([Index]タブ)


アクセスパス集計ダイアログ

メニューから[ファイル][実行][ アクセスパス集計]を選択すると図１のアクセスパス集計ダイアログを表示します。必要な情報を入力してください。

図１　アクセスパス集計ダイアログ

l [未使用のインデクスも表示する(D)]チェックボックス

チェックすると、アクセスパス集計画面(Indexタブ)に、使用されていない(使用件数がゼロの)インデクスも表示します。

フレーム内の情報([接続情報名]等)はこのチェックボックスをチェックしたときに有効となります。フレーム内の情報はＨｉＲＤＢサーバに接続してディクショナリ表を検索するために使用されます。

l [接続情報名(I):]コンボボックス

ＨｉＲＤＢサーバに接続するための接続情報（ホスト名、ポート番号、認可識別子、パスワード、文字コード種別のセット）を表す接続情報名をリストから選択します。選択すると接続情報名に対応した値がＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別の入力フィールドに設定されます。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別の入力フィールドに直接キー入力を行うと接続情報名はクリアされます。接続情報名を直接キー入力することはできません。接続情報名を追加登録したり、登録済みの接続情報を変更したりする場合は、右の[設定(S)...]ボタンを押して接続情報設定ダイアログを開いてください。初期値は環境設定で設定できます。初期値は環境設定で設定できます。

l [設定(S)...]ボタン

接続情報設定ダイアログを表示します。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

認可識別子にはディクショナリ表を検索できる権限が必要です。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(C):]リストボックス

接続するHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : インデクス定義取得結果の解析をシフトJISコードで行います。

UTF-8 : インデクス定義取得結果の解析をUnicode(UTF-8)で行います。

EUC : インデクス定義取得結果の解析をEUC日本語漢字コードで行います。

l [次回もこの値を使う(R)]チェックボックス

チェックすると、次回このダイアログを開いたときに、現在入力されている接続情報名、PDHOST,PDNAMEPORT、認可識別子、パスワード、文字コード種別と同じ値が設定されます。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの説明を参照してください。

l [中間結果情報を使用する(E)]チェックボックス

チェックすると、対象ファイル指定の[ＳＱＬトレース]で指定されたファイルを参照し、中間結果情報とアクセスパス情報を基にした各結合方式、各検索方式およびインデクスの使用件数の集計と、中間結果の値に対するガイダンスについて各結合方式および各検索方式毎の集計を行ないます。この場合、対象ファイル指定の[アクセスパス]で指定されたファイルは集計の対象外となります。

フレーム内の情報（[警告する閾値(W):]）はこのチェックボックスをチェックしたときに有効となります。

l [警告する閾値(W):]テキストエリア

中間結果情報の中に存在する特定の組合せにおいて件数を比較し、設定された閾値を超えていた場合、

警告情報を出力します。特定の組合せについては、『付録Ｂ．ガイダンス一覧』を参照してください。

入力可能な値は、１～１０００の整数です。

l [OK]ボタン

ダイアログを閉じ、設定内容を使用して、アクセスパス集計画面を表示します。アクセスパス集計画面には[Join+Scan]タブと[Index]タブがあります。

l [ｷｬﾝｾﾙ]ボタン

ダイアログを閉じメイン画面に遷移します。


アクセスパス集計画面([Join+Scan]タブ)

アクセスパス集計画面で[Join+Scan]タブが選択されている画面を図１に示します。

図１　アクセスパス集計画面([Join+Scan]タブ)

この画面には各結合方式と各検索方式の使用件数をグラフ表示します。グラフに表示する結合方式の一覧を表１に示します。グラフに表示する検索方式の一覧を表２に示します。結合方式と検索方式の詳細は「結合方式と検索方式の種類」を参照してください。

グラフの網掛け部分は各結合方式または各検索方式でガイダンスのある結合または検索の件数(使用件数の内数)を示します。

表１　結合方式

＃ | 種類 | 結合方式 | グラフの項目名
1 | マージジョイン | SORT MERGE JOIN | 同左
2 |  | KEY SCAN MERGE JOIN | 同左
3 |  | LIST SCAN MERGE JOIN | 同左
4 |  | L-KEY R-LIST MERGE JOIN | 同左
5 |  | L-KEY R-SORT MERGE JOIN | 同左
6 |  | L-LIST R-KEY MERGE JOIN | 同左
7 |  | L-LIST R-SORT MERGE JOIN | 同左
8 |  | L-SORT R-KEY MERGE JOIN | 同左
9 |  | L-SORT R-LIST MERGE JOIN | 同左
10 | ネストループジョイン | NESTED LOOPS JOIN | 同左
11 |  | R-LIST NESTED LOOPS JOIN | 同左
12 | 分散ネストループジョイン | DISTRIBUTED NESTED LOOPS JOIN | DIST. NESTED LOOPS JOIN
13 | ハッシュジョイン | HASH JOIN | 同左
14 | SELECT-APSL | SELECT-APSL | SELECT-APSL JOIN
15 | 直積 | CROSS JOIN | 同左

表２　検索方式

＃ | 種類 | 検索方式 | グラフの項目名
1 | インデクスを使用しない検索 | TABLE SCAN | 同左
2 | 一つのインデクスを使用した検索 | INDEX SCAN | 同左
3 |  | KEY SCAN | 同左
4 |  | MULTI COLUMNS INDEX SCAN | 同左
5 |  | MULTI COLUMNS KEY SCAN | 同左
6 |  | PLUGIN INDEX SCAN | 同左
7 |  | PLUGIN KEY SCAN | 同左
8 | SELECT-APSL | SELECT-APSL | SELECT-APSL SCAN
9 | 複数のインデクスを使用した検索 | AND PLURAL INDEXES SCAN | 同左
10 |  | OR PLURAL INDEXES SCAN | 同左
11 | 作業表の検索 | LIST SCAN | 同左
12 | 行識別子を使用した検索 | ROWID FETCH | 同左
13 | 外部サーバに対する問合せ結果の検索 | FOREIGN SERVER SCAN | 同左
14 |  | FOREIGN SERVER LIMIT SCAN | 同左

l [UAP名(U)：]リストボックス

特定のUAPのアクセスパス情報を集計示する場合は、UAP名を指定します。 全てのアクセスパス情報を表示するときは「全体」を選択します。デフォルトは「全体」です。

アクセスパス集計ダイアログで[中間結果情報を使用する]をチェックした場合は「全体」しか選択できません。

l [表示グラフ数(T)：]リストボックス

一度に画面に表示するグラフ中の棒の本数を選択します。最小は10で、最大は30です。選択した数が表示項目の総数より小さい場合には、スクロールバーを使用して表示されていない項目を表示させることができます。

l [凡例表示(L)]チェックボックス

チェックするとグラフの凡例を表示します。

l スクロールバー

グラフをスクロールさせて、表示されていない項目を表示させます。

グラフの縦軸をダブルクリックすると、対数スケールに変わります。もう一度ダブルクリックすると元に戻ります。

グラフの棒または凡例の四角形をダブルクリックすると、選択した項目に絞り込んだアクセスパス解析機能を実行します。この操作ではﾌｨﾙﾀﾘﾝｸﾞ指定の[結合方式][検索方式]で設定された条件を無効としてから、選択した結合方式または検索方式を条件に設定し、アクセスパス解析を行います。

グラフの棒または凡例の四角形を選択(左クリック)してから右クリックして[開く]を選択しても同じことができます。

[UAP名]リストボックスで「全体」を選択している場合はアクセスパス解析機能のUAP一覧画面を表示します。[UAP名]リストボックスで特定のUAPを選択している場合はアクセスパス解析機能のSQL一覧画面を表示します。

グラフの棒または凡例の四角形を選択(左クリック)してから右クリックして[詳細]を選択すると、図２のダイアログを表示します。

図２　結合方式・検索方式 詳細表示ダイアログ

このダイアログに表示する項目は次の通りです。

# | 項目 | 内容
1 | 結合方式・検索方式 | 結合方式または検索方式
2 | 使用件数 | 当該結合方式または検索方式の使用件数
3 | ガイダンスのある使用件数 | 当該結合方式または検索方式でガイダンスのある結合または検索の件数

l ［ＯＫ］ボタン

ダイアログを閉じます。

注意事項：

l 本機能からアクセスパス解析機能を起動した場合、選択した結合方式または検索方式を使用しているSQLに解析対象を絞り込んでから、さらにフィルタリング指定で設定した条件で解析対象を絞り込みます。

l 次のガイダンスは、特定の結合方式または検索方式に関係がないので、アクセスパス集計画面(Join+Scanタブ)のグラフの網掛け部分に反映されません。 これらのガイダンスの有無はガイダンスメッセージ表示機能を使用して確認することができます。

KFPX29709-I グループ化する前の件数がグループ化した後の件数に比べ、かなり大きい値です。

KFPX29710-I グループ化する前の件数とグループ化した後の件数が近似しています。

KFPX29993-I {info}転送方法が1TO1以外になっています。


アクセスパス集計画面([Index]タブ)

アクセスパス集計画面で[Index]タブが選択されている画面を図１に示します。

図１　アクセスパス集計画面([Index]タブ)

この画面には、インデクス毎に、その使用件数（指定されたアクセスパス情報ファイル中に現れる回数）をグラフ表示します。アクセスパス集計ダイアログの[未使用のインデクスも表示する]チェックボックスをチェックすると、使用されていない(使用件数がゼロの)インデクスも表示します。

l [認可識別子(S)：]リストボックス

集計対象を特定のスキーマに属するインデクスに絞り込む場合に、そのスキーマの認可識別子を選択します。全てのスキーマのインデクスを集計対象とする場合は「全体」を選択します。

アクセスパス集計ダイアログで[中間結果情報を使用する]をチェックした場合は「全体」しか選択できません。

l [ｿｰﾄ(O)：]リストボックス

グラフの表示順序を選択します。インデクス名順、使用件数順、表名順を選択できます。デフォルトはインデクス名順です。

インデクス名順：インデクス名(認可識別子.インデクス識別子)の昇順

使用件数順：インデクスの使用件数の降順

表名順：インデクスの定義されている表の表名(認可識別子.表識別子)の昇順

l [表示ｸﾞﾗﾌ数(T)：]リストボックス

一度に画面に表示するグラフ中の棒の本数を選択します。最小は10で、最大は100です。選択した数が表示項目の総数より小さい場合には、スクロールバーを使用して表示されていない項目を表示させることができます。

l [凡例表示(L)]チェックボックス

チェックするとグラフの凡例を表示します。

l [表名表示(A)]チェックボックス

チェックすると、当該インデクスの定義されている表の表識別子をインデクス名の後ろに括弧で囲んで表示します。

l [SQL生成(C)...]ボタン

使用されていないインデクスを削除するDROP INDEX文を生成してテキストファイルに保存します。

[認可識別子]リストボックスで特定のスキーマを選択している場合は、選択したスキーマに属する使用されていないインデクスだけが対象になります。

削除対象となるインデクスは、アクセスパス情報ファイルが指定されていないUAPで使用されている可能性があります。

クラスタキーに指定した列に対して作成されたインデクスについては、DROP INDEX文を生成しません。

このボタンは、アクセスパス集計ダイアログで[未使用のインデクスも表示する]をチェックした場合にだけ有効です。

ボタンを押すとテキストファイルの保存先を指定するダイアログが表示されます。

l スクロールバー

グラフをスクロールさせて、表示されていない項目を表示させます。

グラフの縦軸をダブルクリックすると、対数スケールに変わります。もう一度ダブルクリックすると元に戻ります。

グラフの棒または凡例の四角形を選択(左クリック)してから右クリックすると、下記に示すメニューが表示されます。

    詳細 ：図２のダイアログを表示します。

    定義情報 ：インデクスの定義情報を表示します。ディクショナリ表示機能を呼び出し、データディクショナリの詳細情報画面にて、インデクスの構成列情報を表示します。

図２　インデクス詳細表示ダイアログ

このダイアログに表示する項目は次の通りです。

# | 項目 | 内容
1 | 認可識別子 | 当該インデクスのあるスキーマの認可識別子
2 | インデクス識別子 | 当該インデクスのインデクス識別子
3 | 表識別子 | 当該インデクスの定義されている表の表識別子
4 | 使用件数 | 当該インデクスの使用件数
5 | 定義・使用 | 定義あり：インデクスが定義されていて使用されている。 未定義：インデクスが定義されていない（アクセスパス情報中では使用されているが既に削除されている）。 未使用：インデクスが定義されているが、使用されていない。 不明：インデクスが使用されているが、次のいずれかの理由によりディクショナリ表を検索していないため、インデクスが定義されているかどうか不明。 (1) アクセスパス集計ダイアログで[未使用のインデクスも表示する]をチェックしていない。 (2) アクセスパス集計ダイアログで指定した接続情報の不正などの原因によりエラーが発生したためにディクショナリ表を検索できなかった。

l ［ＯＫ］ボタン

ダイアログを閉じます。


ダイナミックブラウジング機能詳細

本機能は、HiRDBクライアントおよびサーバを用いて、ダイアログボックスから入力した任意のSQL文からアクセスパス情報を作成し、表示する機能です。

※：同一PC上にあらかじめHiRDBクライアントをインストール願います。

取得したアクセスパス情報は、「アクセスパス解析」により取得したファイル同様に、画面にて参照できます。

※：但し、本プログラムを終了すると、本機能を用いて取得したアクセスパス情報を削除します。また、HiRDB Access Path Browserとは異なり、画面を閉じると当該データは『[ファイル]-[実行]-[アクセスパス解析]』で一覧に表示されません。再び表示したい場合は、ご面倒ですが、環境設定ダイアログで指定しているディレクトリを参照し対象ファイル指定ダイアログにて該当するアクセスパス情報ファイルを選択した後、解析の実行を行ってください。

クライアントサーバ間でエラーが発生した場合、受け取ったメッセージをそのままダイアログ表示します。

※：エラー詳細については、マニュアル「HiRDB メッセージ」を参照願います。

[ファイル(F)] - [実行(E)] - [ダイナミックブラウジング...]を行うと、次に示すダイナミックブラウジングダイアログが表示されます。

図 ダイナミックブラウジングダイアログ

l [接続情報 [image] 名(I):]選択ボックス

ホスト名、ポート番号、認可識別子、パスワード、文字コード種別のセットを表す接続情報のリストから接続情報名を選択します。リストは接続情報設定ファイルから読み込まれます。選択すると接続情報名に対応した値をＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、ＰＤＵＳＥＲ、文字コード種別フィールドに設定します。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、ＰＤＵＳＥＲ、文字コード種別フィールドにキー入力を行うと接続情報名はクリアされます。 初期値は環境設定で設定できます。

l [設定(T)…]ボタン

接続情報設定ダイアログを表示します。接続情報設定ダイアログについては接続情報設定機能を参照願います。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [ﾊﾟｽﾜｰﾄﾞ(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(C):]リストボックス

接続するHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : アクセスパス情報の解析をシフトJISコードで行います。

UTF-8 : アクセスパス情報の解析をUnicode(UTF-8)で行います。

EUC : アクセスパス情報の解析をEUC日本語漢字コードで行います。

l [次回もこの値を使う(E)]チェックボックス

チェックすると、次回このダイアログを開いたときに、現在入力されている接続情報名、PDHOST,PDNAMEPORT、認可識別子、パスワード、文字コード種別と同じ値が設定されます。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの説明を参照してください。

l [その他環境変数(A):]選択ボックス

上記以外の環境変数を入力したいとき、環境変数名を入力します。詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

(最大 1,024バイト)

l [その他環境変数設定内容(V):]テキストエリア

「その他環境変数」に設定したい値を入力します。

l [登録内容(L):]リスト

環境変数の設定状況を表示します。

l [SQL(Q):]テキストエリア

SQL文を入力します。複数ステートメントは記述できません。

SQL文の文字列中にSQL先頭子、及びSQL終了を指定できません。

SQL文の文字列の最大長は30,000バイトです。

実行されるSQLとして、入力したSQL文の最後に半角セミコロン(；)を記述した場合、SQL文から

最後の文字として出現する半角セミコロンを除きます。

l [ＯＫ]ボタン

設定内容をもとにダイナミックブラウジングを開始します。正常にアクセスパス情報を受け取ったときメイン画面へ遷移し、受け取ったアクセスパス情報を表示します。エラー発生又は、アクセスパスが発生しないSQLを投入したときは、画面の遷移を行いません。

l [キャンセル]ボタン

ダイナミックブラウジングダイアログを中断します。メイン画面へ遷移します。

l [読み出し(R)...]ボタン

ダイナミックブラウジングダイアログの設定内容を読み出すダイアログを表示します。

l [保存(S)...]ボタン

ダイナミックブラウジングダイアログの設定内容を保存するダイアログを表示します。SQL文欄で、入力された改行は取り除いて保存します。


ＳＱＬ抽出機能詳細

SQL抽出機能詳細

本機能は、SQLを埋め込んだUAPソースファイルから、SQLを抽出しファイルに書き出す機能です。

※：同一PC上にあらかじめHiRDBクライアント(HiRDB/Developer's Kit)をインストール願います。

対応するUAPソースファイルの言語は、Ｃ、Ｃ＋＋、ＣＯＢＯＬ、ＯＯＣＯＢＯＬです。

はじめに、抽出ファイルの指定ダイアログが表示されますので、UAPソースファイルを指定してください。

図　抽出ファイルの指定ダイアログ

  指定できるファイルは、言語ごとに拡張子が定められています。その他のファイル拡張子の場合、エラーとなります。

指定できるファイルの言語と拡張子：Ｃ言語（.ec）、Ｃ＋＋言語（.ecp）、ＣＯＢＯＬ言語（.ecb, .cob, .cbl）、ＯＯＣＯＢＯＬ言語（.eoc）

次に、抽出結果の保存ダイアログが表示されますので、出力先ファイル名を指定してください。

図　抽出結果の保存ダイアログ

注意事項：

HiRDB クライアントのSQLプリプロセッサを利用している為、下記の注意事項があります。

l SQL文が構文不正のときにはエラーメッセージが出力されます。ただし、SQLの構文チェックは厳密にできないため、SQL文に文法上のエラーがあっても発見できないことがあります。

l 対象UAPソースを解析する際の文字コードは、HiRDB SQL Tuning Advisor起動時に設定されている環境変数PDCLTLANGに依存します。

l １つのSQL文を１行に出力します。

l 出力されたSQL文の終わりには、セミコロンがつきます。


アクセスパス抽出機能詳細

本機能は、SQLを埋め込んだUAPソースファイルまたはSQL文だけが複数行記述されたファイルからSQLを抽出し、HiRDBクライアントおよびサーバを用いて、アクセスパス情報を作成し、ファイルに書き出す機能です。

※：同一PC上にあらかじめHiRDBクライアント(HiRDB/Developer's Kit)をインストール願います。

メインウインドウから、メニュー[ファイル(F)]-[実行(E)]-[アクセスパス抽出...]を選択すると、

アクセスパス抽出機能に必要な情報を入力する画面が表示されますので、画面に沿って入力し、

最後に[OK]ボタンを押して実行してください。

[ｷｬﾝｾﾙ]ボタンを押すと、本機能を中断しメインウインドウに戻ります。

図１　アクセスパス抽出ダイアログ（入力ファイルの指定）

l [ファイル又はディレクトリ(F):]テキストエリア

ＵＡＰソースファイル、ＳＱＬファイル、又はディレクトリを指定します。

指定できるファイルは、拡張子が定められています。その他のファイル拡張子の場合、エラーとなります。

指定できるファイル：ＳＱＬ（.sql）

、Ｃ言語（.ec）、Ｃ＋＋言語（.ecp）

、ＣＯＢＯＬ言語（.ecb, .cob, .cbl）、ＯＯＣＯＢＯＬ言語（.eoc）

(最大 1,024バイト)

ディレクトリが指定されたときは、上記の拡張子を持つファイルを対象に処理します。

サブディレクトリの参照は行いません。

l [参照(B)...]ボタン

    ファイル選択ダイアログを表示し、ユーザが選択形式で、ファイルを指定できるようにします。

（注意事項：）

文字コードが接続するHiRDBサーバの文字コード種別と異なっていた場合は、SQLエラー等になりアクセスパスが生成されない可能性があります。

[ファイル又はディレクトリ(F):]においてディレクトリを指定した場合、拡張子を除いたファイル名は、違う名前にしてください。同じ名前のファイルが存在したときは、同じ名前で最後に処理したファイルだけが出力結果として残ります。

l [次へ >]ボタン

押下時に、指定されたファイル又はディレクトリの存在をチェックし、

存在しない場合は、エラーとなります。

存在する場合は、アクセスパス抽出ダイアログ（HiRDB接続先の指定）へ画面遷移します。

図２　アクセスパス抽出ダイアログ（HiRDB接続先の指定）

l [接続情報名(I):]コンボボックス

ホスト名、ポート番号、認可識別子、パスワードのセットを表す接続情報のリストから接続情報名を選択します。

リストは接続情報設定ファイルから読み込まれます。選択すると接続情報名に対応した値をＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、ＰＤＵＳＥＲフィールドに設定します。

ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、ＰＤＵＳＥＲフィールドにキー入力を行うと接続情報名はクリアされます。

初期値は環境設定で設定できます。

l [設定(S)…]ボタン

接続情報設定ダイアログを表示します。接続情報設定ダイアログについては接続情報設定機能を参照願います。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(C):]リストボックス

接続するHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

    SJIS : アクセスパス情報の解析をシフトJISコードで行います。

    UTF-8 : アクセスパス情報の解析をUnicode(UTF-8)で行います。

    EUC : アクセスパス情報の解析をEUC日本語漢字コードで行います。

l [< 戻る]ボタン

アクセスパス抽出ダイアログ（入力ファイルの指定）へ画面遷移します。

l [次へ >]ボタン

アクセスパス抽出ダイアログ（クライアント環境変数の指定）へ画面遷移します。

図３　アクセスパス抽出ダイアログ（クライアント環境変数の指定）

l [環境変数(A):]コンボボックス

現在プログラムが動作している環境変数に対して、追加・変更したいクライアント環境変数名を入力します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

l [環境変数設定内容(V):]テキストエリア

「環境変数」に設定したい値を入力します。

(最大 1,024バイト)

l [登録内容(L):]リストボックス

環境変数の設定状況を表示します。

「変数名称」を選択すると、選択した「変数名称」と「設定値」を「環境変数」「環境変数内容」領域に反映します。

l [< 戻る]ボタン

アクセスパス抽出ダイアログ（HiRDB接続先の指定）へ画面遷移します。

l [次へ >]ボタン

アクセスパス抽出ダイアログ（の指定）へ画面遷移します。

図４　アクセスパス抽出ダイアログ（出力の指定）

l [バイナリ形式(I):]選択ボタン

抽出結果をバイナリ形式で出力します。

    本形式は、HiRDBのユティリティ又は、アクセスパス解析機能にて参照することができます。

l [テキスト形式(T):]選択ボタン

抽出結果をテキスト形式で出力します。

    本形式は、HiRDB SQL Tuning Advisor固有の形式です。

l [出力先ディレクトリ(O):]テキストエリア

アクセスパスファイルの出力先を指定します。

入力ファイルが拡張子”sql”以外のとき、一時ファイルとして入力ファイル名の拡張子を”sql”に変更した名前のファイルを上書きで作成します。

アクセスパス情報ファイルとして、入力ファイル名から拡張子を取り除いた名前のファイルを上書きで作成します。[バイナリ形式(I):]を指定した場合は、このファイルが結果となります。

また[テキスト形式(T):]を指定した場合は、入力ファイル名の拡張子を”txt”に変更した名前のファイルを上書きで作成します。[テキスト形式(T):]を指定した場合は、このファイルが結果となります。

PDTAAPINFPATHの値と同じディレクトリは指定しないでください。

(最大 1,024バイト)

l [参照(B)...]ボタン

ディレクトリ選択ダイアログを表示し、ユーザが選択形式で、ディレクトリを指定できるようにします。

図「ディレクトリ参照ダイアログ」に[参照]ボタンを押した場合に表示される、ダイアログを示します。

l [< 戻る]ボタン

アクセスパス抽出ダイアログ（クライアント環境変数の指定）へ画面遷移します。

l [次へ >]ボタン

アクセスパス抽出ダイアログ（設定の確認）へ画面遷移します。

図５　アクセスパス抽出ダイアログ（設定の確認）

l [< 戻る]ボタン

アクセスパス抽出ダイアログ（出力の指定）へ画面遷移します。

l [ＯＫ]ボタン

設定内容をもとにアクセスパス抽出機能を開始します。

セミコロン(;)に続き改行コードが現れたとき、１つのＳＱＬ文の終端とみなし、

１ＳＱＬごとにサーバに接続し、アクセスパス情報を生成します。

正常にアクセスパス情報を受け取ったときは指定されたディレクトリにアクセスパス情報ファイルを書き込みます。実行が終了すると、メイン画面へ遷移します。

注意事項：

・ 入力ファイルにSQL（.sql）以外を指定した場合は、SQL抽出機能を間接的に利用します。そちらの注意事項もご留意ください。

図６　ディレクトリ参照ダイアログ

l [ドライブ(D):]リストボックス

参照するディレクトリが格納されているドライブを指定します。

現在と異なるドライブを選択すると、[ディレクトリ] リストボックスが選択したドライブの内容に変更されます。

l [ディレクトリ(I):]リストボックス

参照するディレクトリを指定します。

サブディレクトリを参照したい場合は、親ディレクトリをダブルクリックしてください。

子ディレクトリの一覧が表示されます。

l [OK]ボタン

選択されているディレクトリを呼び出し元画面に返し、本画面を閉じます。

l [ｷｬﾝｾﾙ]ボタン

本画面を閉じます。


ディクショナリ表示機能詳細

本機能は、指定されたホスト名、ポート名、認可識別子、パスワード、文字コード種別を用いてＨｉＲＤＢサーバに接続し、データディクショナリ表の情報を表示する機能です。

※：同一PC上にあらかじめHiRDBクライアントをインストール願います。

はじめに、接続情報ダイアログが表示されますので、ホスト名、ポート名、認可識別子、パスワード、文字コード種別を指定してください。

図　接続情報ダイアログ

l [接続情報名(I):]コンボボックス

ホスト名、ポート番号、認可識別子、パスワード、文字コード種別のセットを表す接続情報のリストから接続情報名を選択します。リストは接続情報設定ファイルから読み込まれます。選択すると接続情報名に対応した値をＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別フィールドに設定します。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別フィールドにキー入力を行うと接続情報名はクリアされます。初期値は環境設定で設定できます。

l [設定(S)…]ボタン

接続情報設定ダイアログを表示します。接続情報設定ダイアログについては接続情報設定機能を参照願います。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(C):]リストボックス

接続するHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS :検索結果の解析をシフトJISコードで行います。

UTF-8 :検索結果の解析をUnicode(UTF-8)で行います。

EUC :検索結果の解析をEUC日本語漢字コードで行います。

l [次回もこの値を使う(R)]チェックボックス

チェックすると、このダイアログに現在入力されている接続情報(PDHOST,PDNAMEPORT、認可識別子、パスワード、文字コード種別)が、本機能を次回実行するときに、接続情報のデフォルト値になります。チェックと外すと、環境設定ダイアログで選択した接続情報が次回の接続情報のデフォルト値になります。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの説明を参照してください。

l [次回からこのダイアログを表示しない(O)]チェックボックス

チェックすると、次回からこのダイアログを表示しません。次回からは接続情報のデフォルト値を使用してサーバに接続します。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの[接続情報ﾀﾞｲｱﾛｸﾞ非表示] チェックボックスの説明を参照してください。

l [OK]ボタン

設定内容を元にディクショナリ表示機能を開始します。

l [ｷｬﾝｾﾙ]ボタン

ディクショナリ表示機能機能を中断します。メイン画面へ遷移します。

  [ＯＫ]ボタンを押下すると、HiRDBサーバにアクセスします。

接続が成功するとツリー形式にてデータディクショナリ表に格納されている情報を表示します。

図　データディクショナリ情報画面

ツリー形式の構成を「図　データディクショナリ情報の構成」に示します。

項目をクリックすると、項目の子ノードとなる情報を取得していないとき、HiRDBサーバから該当する情報を取得します。情報が存在する場合、展開せずに項目の左に＋記号が表示されます。情報が存在しない場合、何も表示されません。

＋記号がある項目の「＋記号」部分をクリックするか、項目部分をダブルクリックすると、子ノードが表示され、＋記号が－記号に変化します。

－記号がある項目の「－記号」部分をクリックするか、項目部分をダブルクリックすると、子ノードが非表示となり、－記号が＋記号に変化します。

各終端の項目をダブルクリックすると、該当する詳細情報を表形式で表示します。「図　データディクショナリの詳細情報」参照

（ホスト名／ポート名）

├スキーマ

│　├（スキーマ名）

│　│　　├テーブル

│　│　　│　├（テーブル名）

│　│　　│　│　　├列情報

│　│　　│　│　　├分割情報

│　│　　│　│　　├権限情報

│　│　　│　│　　└参照一覧

│　│　　│　└　･･･

│　│　　├インデクス

│　│　　│　├（インデクス名）

│　│　　│　│　　├列情報

│　│　　│　│　　├分割情報

│　│　　│　│　　├統計情報

│　│　　│　│　　├関数情報

│　│　　│　│　　└除外キー情報

│　│　　│　└　･･･

│　│　　├手続き

│　│　　│　├（手続き名）

│　│　　│　│　　├定義情報

│　│　　│　│　　├リソース情報

│　│　　│　│　　└パラメタ情報

│　│　　│　└　･･･

│　│　　├プラグイン

│　│　　│　├（プラグイン名）

│　│　　│　└　･･･

│　│　　├インデクス型

│　│　　│　├（インデクス型名）

│　│　　│　└　･･･

│　│　　└ユーザ定義型

│　│　　　　├（ユーザ定義型名）

│　│　　　　│　　├定義情報

│　│　　　　│　　├リソース情報

│　│　　　　│　　└パラメタ情報

│　│　　　　└　･･･

│　└　･･･

├ＲＤ

│　├（ＲＤエリア名）

│　│　　├権限情報

│　│　　└参照一覧

│　└　･･･

├ユーザ

│　├（ユーザ名）

│　└　･･･

└外部サーバ

    ├（外部サーバ名）

└　･･･

図　データディクショナリ情報の構成

注意事項：

・各情報を取得するごとに、接続・切断を行っています。

・ディクショナリ表示状態にて、メニューより[表示(V)][ディクショナリ]を行った場合、接続情報ダイアログにて[ＯＫ]ボタンを押下した時点で、表示していたデータディクショナリ情報がなくなります。

・表示される情報は、取得を行ったタイミングの情報です。最新の情報を取得するには、再度、メニューより[表示(V)][ディクショナリ]を行ってください。

図　データディクショナリの詳細情報画面


ガイダンスメッセージ表示機能詳細

（１）概要

アクセスパス情報を元に、アクセスパス詳細で出力されているガイダンスの一覧を表示する機能です。

（２）前提条件

l 入力データとして、サーババージョン05-05以降が出力するアクセスパス情報ファイルである必要があります。

l アクセスパス情報ファイルを「アクセスパス解析機能」により解析している状態である必要があります。

（３）利点

l アクセスパス詳細を１つずつ見ることなく、大量に存在するアクセスパス情報ファイルの中から、問題があるＳＱＬを見つけることが出来ます。

（４）機能説明

本機能は、メニュー[ファイル(F)]-[実行]-[ガイダンスメッセージ表示]を操作することにより、実行されます。本機能を実行すると、ガイダンスメッセージを導き出した結果を「図　ガイダンスメッセージ一覧画面」として表示します。すでにガイダンスメッセージ一覧画面が存在したときは、ガイダンスメッセージを導かずにウインドウを前面にして機能を終了します。

ガイダンスメッセージは現在の定義構成においてＳＱＬが利用された場合の問題点を、それぞれ表しています。

注意事項

表示されたデータが大きくなった（目安：５０００行又は２５６ＫＢ超）とき、下のほうへカーソル移動すると反応が極端に遅くなります。回避策として、ファイルへ保存し、別のアプリケーションでファイル参照することをお奨めします。

図 ガイダンスメッセージ一覧画面

操作：

メニュー[表示(D)][SQL文]を選択...対応するＳＱＬ文の表示状態（表示／非表示）を切り替えることができます。（表示状態の既定値：表示）

マウスのダブルクリック　　　　...マウスカーソルがある行を選択状態にし、当該ＳＱＬ（クエリ）の

アクセスパス詳細画面を出力します。

  その他の実行可能な操作は、メインウィンドウの各表を参照してください。

出力内容：

ガイダンスがある場合、１クエリ毎に出力します。またＳＱＬ毎に区切り行（マイナス記号の連続）を表示します。ＳＱＬによっては複数のガイダンスが表示されます。

ガイダンスメッセージの内容については｢ガイダンス一覧｣を参照してください。

  （全てのアクセスパス情報に対しガイダンスが１つもない場合、ガイダンスメッセージ一覧画面を出力しません。）


インデクス提案機能詳細

（１）概要

アクセスパス情報とディクショナリ情報を元に、インデクス定義により効率向上が望めるSQLにおいて、インデクス案を提示する機能です。

（２）前提条件

l 本プログラムの稼動するマシンにＨｉＲＤＢクライアントがインストールされており、ＨｉＲＤＢサーバと接続できる環境が必要です。

l 入力データとして、サーババージョン07-01以降が出力するアクセスパス情報ファイルである必要があります。

l アクセスパス情報ファイルを「アクセスパス解析機能」により解析している状態である必要があります。

（３）利点

l インデクスに対する性能チューニングノウハウが無くても、効果的なインデクスを設計できます。

（４）機能説明

本機能は、下に記す画面状態においてメニュー[ファイル(F)]-[実行]-[インデクス提案]を操作することにより、実行されます。

l アクセスパス詳細画面の場合、表示されている情報のインデクス提案を行ないます。

l アクセスパス情報画面のＵＡＰ一覧またはＳＱＬ一覧を表示中に実行した場合、選択されている情報のインデクス提案を行ないます。未選択の場合、選択されていない旨のメッセージを出力します。

l ガイダンスメッセージ一覧画面を表示中に実行した場合、カーソル位置のある情報のインデクス提案を行ないます。未選択の場合、選択されていない旨のメッセージを出力します。

その他画面のときには、本機能を実行できません。

本機能を実行すると「接続情報ダイアログ」が表示されます。本画面では、提案するインデクスが定義されているかを確認するためのサーバ接続情報を入力します。

その後、インデクスを導出する処理を行なった結果を「インデクス提案一覧画面」として表示します。すでにインデクス提案一覧画面が存在したときは、結果を同一のウインドウの最後の位置から追加出力します。

提案されるインデクス案は、以下のルールで出力されます。

・提案するインデクスが１つの案は「単独インデクス」として出力します。

・提案するインデクスが複数の案は「複数インデクス」として出力します。

・「単独インデクス」「複数インデクス」のどちらかの案が出力されない場合、および

  それぞれの案が複数個出力されることがあります。

・複数インデクスが複数個表示されるケースとしては、OR述語が存在し最上位のAND結合があるとき、

  以下のいずれかが成り立つ場合に出力されます。

  1.必須インデクスが存在する場合

  2.最上位のAND結合において、インデクス連結できない述語が存在する場合

・出力される順序に決まりはありませんが、出力された順でインデクスを形成した効果を確認し、最適な案を選択してください。

注意事項：

l 提案されるインデクス案は、個々のＳＱＬを参照した結果であるため、システム全体のＳＱＬにおける最適な定義でない可能性があります。実行回数が多いＳＱＬや、処理速度が極端に遅いＳＱＬに対し解析した結果を、優先的にインデクス定義するようにしてください。

l 表示されたデータが大きくなった（目安：５０００行又は２５６ＫＢ超）とき、下のほうへカーソル移動すると反応が極端に遅くなります。回避策として、ファイルへ保存し、別のアプリケーションでファイル参照することをお奨めします。

l アクセスパスファイルを出力したサーバと同一バージョンのサーバに対してインデクス定義を適用できます。

l 異なるバージョンのサーバに適用すると、効率が劣化する可能性があります。

使用例

アクセスパス情報を元に、問題のあるＳＱＬのインデクス提案を行なう例を記します。

１．アクセスパス解析機能を実行します。

２．ガイダンスメッセージ表示機能を実行します。

ここで、メッセージ『KFPX29601-I 検索方法が「TABLE SCAN」となっています。』があれば、その位置にテキストカーソルを移動させます。

３．メニュー[ファイル(F)] - [実行(E)] - [インデクス提案]を選択しますと、インデクス提案一覧画面にインデクス提案情報が表示されます。

本情報を参考にし、適切なインデクスを定義してください。

＜この節の構成＞

接続情報ダイアログ

インデクス提案一覧画面


接続情報ダイアログ

図　接続情報ダイアログ

l [接続情報名(I):]コンボボックス

ホスト名、ポート番号、認可識別子、パスワードのセットを表す接続情報のリストから接続情報名を選択します。リストは接続情報設定ファイルから読み込まれます。選択すると接続情報名に対応した値をＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワードフィールドに設定します。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワードフィールドにキー入力を行うと接続情報名はクリアされます。初期値は環境設定で設定できます。

l [設定(S)…]ボタン

接続情報設定ダイアログを表示します。接続情報設定ダイアログについては接続情報設定機能を参照願います。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [次回もこの値を使う(R)]チェックボックス

チェックすると、このダイアログに現在入力されている接続情報(PDHOST,PDNAMEPORT、認可識別子、パスワード)が、本機能を次回実行するときに、接続情報のデフォルト値になります。チェックと外すと、環境設定ダイアログで選択した接続情報が次回の接続情報のデフォルト値になります。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの説明を参照してください。

l [次回からこのダイアログを表示しない(O)]チェックボックス

チェックすると、次回からこのダイアログを表示しません。次回からは接続情報のデフォルト値を使用してサーバに接続します。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの[接続情報ﾀﾞｲｱﾛｸﾞ非表示] チェックボックスの説明を参照してください。

l [OK]ボタン

インデクス案を導出した後に、指定された情報を基に、出力するインデクス案が

既に定義されているかをチェックし、出力内容に反映します。

l [ｽｷｯﾌﾟ]ボタン

インデクス案を導出した後に、インデクス案が既に定義されているかのチェックを行ないません。

l [ｷｬﾝｾﾙ]ボタン

インデクス提案機能を中断します。メイン画面へ遷移します。


インデクス提案一覧画面

インデクス提案一覧 |
------------------------------------------------------------ SELECT C1,C2 FROM T1 WHERE C3='Aya' AND (C4>100 or (C4<10 AND C5= (SELECT C5 FROM T2 WHERE (C1,C2)<(100,200) AND C4=300) )) AND C6>'0' ☆問合せ1： ※案１[単独インデクス]: 1_1_1_1,,,”T1(C3,C6,C5,C4)” ※案２[複数インデクス]: 1_1_2_1,,,”T1(C3,C6)” 1_1_2_2,,,”T1(C4)” 1_1_2_3,,,”T1(C5,C4)” ☆問合せ２： ※案１[単独インデクス]: 1_2_1_1,”T1(C4,C1,C2)” ------------------------------------------------------------ SELECT * FROM T0 ORDER BY C1 KFPX29nnn-I インデクス案は存在しません。 ------------------------------------------------------------ SELECT * FROM T2 WHERE T2.C2>10 ※案１[単独インデクス]: 3_1_1_1,”T2(C2)” ------------------------------------------------------------ | .......(a) .......(b) .......(c) .......(d) .......(e) .......(f)

図　インデクス提案一覧画面

操作：

メニュー[表示(D)][SQL文]を選択...

対応するＳＱＬ文の表示状態（表示／非表示）を切り替えることができます。（表示状態の既定値：表示）

マウスのダブルクリック　　　　...

マウスカーソルがある行を選択状態にし、当該ＳＱＬのアクセスパス詳細画面を出力します。

  その他の実行可能な操作は、メインウィンドウの各表を参照してください。

出力内容：

(a)１ＳＱＬ毎の区切り行（マイナス記号の連続）を出力。

(b)導出元となるＳＱＬを出力。

(c)問合せ毎に『☆問合せn：』を出力。ｎはアクセスパス情報ファイル内の問合せ番号。

インデクス案がないときは出力しません。また、解析順序とファイル内の問合せ番号が一致しないときには出力される問合せ番号が並び順で表示されません。

(d) インデクス案の組み合わせ毎に『※案n［[単独インデクス|複数インデクス]］：』を出力。

nは問合せ毎のインデクス案の通番。

インデクス案がないときは出力しません。

(e)個々のインデクス案構成列を出力。詳細は、「出力形式詳細」を参照してください。

出力される順序に規則はありません。

(f)提案されるインデクス案が１つもない場合、ＳＱＬ毎に存在しない旨のメッセージを表示します。

(全てのアクセスパス情報に対しインデクス案が１つもない場合、インデクス提案一覧画面を出力しません。)

出力形式詳細：

①～④一意となる付加情報です。

① ＳＱＬ通番（１から始まる数値）

② 区切り記号（ハイフン）とアクセスパス情報ファイル内の問合せ番号（１から始まる数値）

③ 区切り記号（ハイフン）と問合せ毎のインデクス案の通番（１から始まる数値）

④　区切り記号（ハイフン）と案毎に出力されるインデクス案構成列の通番（１から始まる数値）

⑤区切り記号（カンマ）

⑥同一構成列のインデクスがすでに存在する場合、定義済みを表す『済』を表示します。

  存在しない場合または、チェックしない場合は、表示されません。

⑦必須インデクスの場合、必須を表す『必』を表示します。

  下記の場合に必須インデクスとなります。

・プラグインに対する論理述語条件が１つだけの場合

・構造化繰返し述語

・ASSIGN LIST文の全条件

  必須インデクスでない場合は、表示されません。

⑧囲み記号（二重引用符）

⑨インデクス定義対象のスキーマ名およびテーブル名

⑩インデクス定義の構成列（列名をカンマで区切って表現）

サーチ条件となりえる列に対し、下線をつけています。

例：

  ＳＱＬに対し、どのようなインデクス提案が出力されるかを示します。

  解りやすいように、ＳＱＬ文を適当な個所でワードラップ改行して、記述しています。

但し、各提案インデクスの前に出力される付加情報は記述していません。

(A)１条件

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE 本社 like '横浜市戸塚区%';

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(本社)

--------------------------------------------------------------------------------

(B)２条件

  (B)(ⅰ)ＡＮＤ結合、各条件の構成列は別

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE コード>='8000' AND N225='1';

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(N225,コード)

--------------------------------------------------------------------------------

  (B)(ⅱ)ＡＮＤ結合、各条件の構成列は同じ

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE コード BETWEEN '8000' AND '8999' AND コード='6501';

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(コード)

--------------------------------------------------------------------------------

  (B)(ⅲ)ＯＲ結合、各条件の構成列は別

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE コード<'2000' OR N225='0';

☆問合せ１：

  ※案1 [複数インデクス] ：

      銘柄(コード)

      銘柄(N225)

--------------------------------------------------------------------------------

  (B)(ⅳ)ＯＲ結合、各条件の構成列は同じ

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE 業種='サービス業' OR 業種='情報・通信業';

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(業種)

--------------------------------------------------------------------------------

(C)ＯＲ結合優先とＡＮＤ結合

  (C)(ⅰ)AND結合にて同じ構成列がOR結合中になし。述語はOR中の比較述語が優先とされる。

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (N500='1' OR N300='1') AND 単元株数<100;

☆問合せ１：

  ※案１ [単独インデクス] ：

      銘柄(単元株数,N500,N300)

  ※案２ [複数インデクス] ：

      銘柄(N500)

      銘柄(N300)

      銘柄(単元株数)

--------------------------------------------------------------------------------

  (C)(ⅱ)AND結合にて同じ構成列がOR結合中にある。

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (市場='2' OR 単元株数<1000) AND 単元株数>100;

☆問合せ１：

  ※案１ [単独インデクス] ：

      銘柄(単元株数,市場)

  ※案２ [複数インデクス] ：

      銘柄(単元株数)

      銘柄(市場)

--------------------------------------------------------------------------------

(D)ＡＮＤ結合とＯＲ結合

  (D)(ⅰ)OR結合にて同じ構成列がAND結合中になし

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE N500='1' OR (N300='1' AND N225='0');

☆問合せ１：

  ※案1 [複数インデクス] ：

      銘柄(N500)

      銘柄(N300,N225)

--------------------------------------------------------------------------------

  (D)(ⅱ)OR結合にて同じ構成列がAND結合中にあり。その１

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE 単元株数=500 OR (単元株数<50 AND N225='1');

☆問合せ１：

  ※案1 [複数インデクス] ：

      銘柄(単元株数)

      銘柄(N225,単元株数)

--------------------------------------------------------------------------------

  (D)(ⅲ)OR結合にて同じ構成列がAND結合中にあり。その２

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE 市場='M' OR (市場='2' AND 単元株数>100);

☆問合せ１：

  ※案1 [複数インデクス] ：

      銘柄(市場)

      銘柄(市場,単元株数)

--------------------------------------------------------------------------------

(E)AND結合とOR結合の複合条件

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE 業種='電気機器' AND

(単元株数>100 or (単元株数<10 AND N225='0')) AND N500>'0';

☆問合せ１：

  ※案１ [単独インデクス] ：

      銘柄(業種,N500,単元株数,N225)

  ※案２ [複数インデクス] ：

      銘柄(業種,N500)

      銘柄(単元株数)

      銘柄(N225,単元株数)

--------------------------------------------------------------------------------

(F)行値構成子あり

  （F）(ⅰ)システム定義スカラ関数未使用

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (N225,N500)<('1','2');

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(N225,N500)

--------------------------------------------------------------------------------

  (F)(ⅱ)比較演算の左辺または右辺の第２要素に対しシステム定義スカラ関数使用

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (N225,N300,N500)<('1',CHR(51),'5');

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(N225)

--------------------------------------------------------------------------------

  (F)(ⅲ)比較演算の左辺または右辺の第１要素に対しシステム定義スカラ関数使用

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (LTRIM(業種),N225,N300)<('業','1','3');

KFPX29089-I インデクス案は存在しません。

--------------------------------------------------------------------------------

  (F)(ⅳ)ANY句とAND結合による組み合わせ

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (N225,N300)=ANY(SELECT N225,N300 FROM 銘柄２)

AND (N300,N500)=ANY(SELECT N300,N500 from 銘柄２) AND 市場='1';

☆問合せ１：

  ※案1 [複数インデクス] ：

      銘柄(市場,N225,N300)

      銘柄(市場,N300,N500)

--------------------------------------------------------------------------------

  (F)(ⅴ)IN句とAND結合による組み合わせ

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE (C1,C2)<('a','b') AND (C3,C4) IN (('A','B'),('C','D'))

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(C3,C4,C1,C2)

--------------------------------------------------------------------------------

  (F)(ⅵ)IN句の左辺にシステム定義スカラ関数使用

--------------------------------------------------------------------------------

SELECT コード,銘柄名 FROM 銘柄 WHERE

(C1,C2)<('a','b') AND (LTRIM(C3),C4) IN (('A','B'),('C','D'))

☆問合せ１：

  ※案1 [単独インデクス] ：

      銘柄(C4,C1,C2)

--------------------------------------------------------------------------------

(G)結合

  (G)(ⅰ)２表の結合

--------------------------------------------------------------------------------

SELECT 店舗在庫.店舗コード,店舗在庫.在庫数 FROM 商品,店舗在庫 WHERE 商品.商品名='ﾊﾞｲﾝﾀﾞ' AND

商品.商品コード=店舗在庫.商品コード AND 店舗在庫.在庫数<5 /*★在庫確認★*/;

☆問合せ１：

  ※案1 [複数インデクス] ：

      店舗在庫(在庫数)

      店舗在庫(商品コード,在庫数);

      商品(商品コード,商品名);

      商品(商品名);

--------------------------------------------------------------------------------

  (G)(ⅱ)３表の結合

--------------------------------------------------------------------------------

SELECT 伝票.日時,伝票.販売員コード FROM 伝票,伝票詳細,顧客 WHERE 伝票詳細.商品コード=

'3752913374231' AND 顧客.顧客名='佐藤　慎一郎' AND 伝票.伝票コード=伝票詳細.伝票コード AND

伝票.顧客コード=顧客.顧客コード AND 伝票.日時>'2003-03-21 17:00:00' /*★返品確認★*/;

☆問合せ１：

  ※案1 [複数インデクス] ：

      顧客(顧客コード,顧客名);

      顧客(顧客名);

      伝票(顧客コード,日時);

      伝票(日時);

      伝票(伝票コード,顧客コード,日時);

      伝票(伝票コード,日時);

      伝票詳細(商品コード);

      伝票詳細(伝票コード,商品コード);

--------------------------------------------------------------------------------

  (G)(ⅲ)２表の外結合

--------------------------------------------------------------------------------

SELECT * FROM 伝票 LEFT OUTER JOIN 伝票詳細 ON 伝票.伝票コード=伝票詳細.伝票コード AND

伝票詳細.個数>=10 WHERE 伝票.日時 BETWEEN

'2004-02-01 00:00:00' AND '2004-02-29 23:59:59' /*★纏め買い確認★*/;

☆問合せ１：

  ※案1 [複数インデクス] ：

      伝票(日時)

      伝票詳細(個数)

      伝票詳細(伝票コード,個数)

--------------------------------------------------------------------------------

(H)副問合せ

--------------------------------------------------------------------------------

SELECT 店名,住所,種別 FROM 店舗 WHERE 店舗コード=ANY(SELECT DISTINCT 店舗コード FROM 伝票

WHERE 日時 BETWEEN '2004-01-02 00:00:00' AND '2004-01-02 05:00:00') /*★売上計上店舗★*/;

☆問合せ１：

  ※案1 [単独インデクス] ：

      店舗(店舗コード)

☆問合せ２：

  ※案1 [単独インデクス] ：

      伝票(日時)

--------------------------------------------------------------------------------

制限事項：

１．ORDER BY句およびGROUP BY句が存在するＳＱＬに対して、内部ソート処理削減の為のインデクス提案は、本バージョンでサポートされていません。

  例１）　SELECT C1,C2,C3,SUM(C4) FROM T1 GROUP BY C3,C2,C1;

    インデクスT1(C3,C2,C1)が定義されていない場合、内部ソートします。

    インデクスT1(C3,C2,C1)を定義してください。

    内部ソートが省略されます。

  例２）　SELECT C1,C2,C3,SUM(C4) FROM T1 GROUP BY C3,C2,C1 ORDER BY C1,C2;

    インデクスT1(C1,C2)および、インデクスT1(C3,C2,C1)が定義されていない場合、ORDER BY句、GROUP BY句の各々にて内部ソートします。

    GROUP BY句は順序が関係しないため、ＳＱＬ文にてORDER BY句と並びを合わせてください。

    (SELECT C1,C2,C3,SUM(C4) FROM T1 GROUP BY C1,C2,C3 ORDER BY C1,C2;)

    付け加えて、インデクスT1(C1,C2,C3)を定義してください。

    ２つの内部ソートが省略されます。

  本制限事項は、ガイダンスとして出力されていない項目です。個々のＳＱＬ性能を調査した際に上記の例に該当する場合は、インデクスの定義およびＳＱＬの書き換えを行い、性能向上できることを確認してください。

２．HiRDB/Single Server Plus または HiRDB/Parallel Server Plus では、ＳＱＬに対し提案した

インデクスを定義しても、インデクスが使用されない可能性があります。


ＳＱＬオブジェクト情報表示機能詳細

（１）概要

本機能は、ＳＱＬオブジェクト情報を表形式に編集して表示します。本書ではＨｉＲＤＢの運用コマンドpdobils（SQLオブジェクト用バッファの統計情報表示）が出力する情報をＳＱＬオブジェクト情報と呼びます。本機能は、ひとつのＳＱＬオブジェクトの情報を表の一行にまとめて表示します。

本機能の実行時に本プログラムがＳＱＬオブジェクト情報を取得する方法には次の２つがあります。

l ＨｉＲＤＢサーバから最新のＳＱＬオブジェクト情報を取得する。

l あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得する。

ＨｉＲＤＢサーバから最新のＳＱＬオブジェクト情報を取得する場合は、本機能の実行時に本プログラムが自動的にＨｉＲＤＢサーバに接続して運用コマンドpdobilsを発行します。 ＨｉＲＤＢサーバに接続するために、接続情報（ホスト名、ポート番号、認可識別子、パスワード）を指定する必要があります。

あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得する場合は、本機能を実行する前にＳＱＬオブジェクト情報をファイルに出力しておく必要があります。ＳＱＬオブジェクト情報をファイルに出力する方法については、「ＳＱＬオブジェクト情報をファイルに出力する方法」を参照してください。

（２）前提条件

l 本ユティリティの稼動するマシンにＨｉＲＤＢクライアントがインストールされており、ＨｉＲＤＢサーバと接続できる環境が必要です。

l ＳＱＬオブジェクト情報を取得するためにＨｉＲＤＢサーバに接続するユーザ（認可識別子）にはＤＢＡ権限が必要です。

l ＨｉＲＤＢ（サーバとクライアント）０７－０１以降のバージョンでのみ使用できます。

（３）利点

ＳＱＬオブジェクト情報を参照することで、処理時間のかかるＳＱＬを特定することや、ＳＱＬオブジェクトの再利用状況を把握することが出来ます。本機能には、運用コマンドpdobilsと比べて、次の利点があります。

l 表形式画面では、任意の列の値をキーとして行を並べ替えることができます。例えば、ＳＱＬオブジェクトの平均実行時間の長い順にＳＱＬオブジェクト情報を表示することができます。

l 表形式画面では、特定の列の値をキーとして表示する行を絞込むことができます。例えば、平均実行時間が指定された時間より長いＳＱＬオブジェクトの情報だけを表示することができます。

（４）表示項目

本機能が表示するＳＱＬオブジェクト情報の項目を「SQLオブジェクト表示項目」に示します。

運用コマンドpdobilsの出力する項目の構成はＨｉＲＤＢサーバのバージョンに依存して変わる可能性がありますが、本機能が表示する項目の構成は、「SQLオブジェクト表示項目」に示す通りであり、接続先のＨｉＲＤＢサーバのバージョンに依存しません。

本機能が表示するＳＱＬオブジェクト情報の各項目の値は、運用コマンドpdobilsが出力した値をそのまま表示します。各項目の意味は接続先のＨｉＲＤＢサーバのバージョンに依存します。各項目の意味については、マニュアル「HiRDBコマンドリファレンス」を参照して、接続先のＨｉＲＤＢサーバのバージョンに対応する運用コマンドpdobilsの仕様を確認してください。

（５）操作手順

次の手順で、ＳＱＬオブジェクト情報表示機能を実行します。

1. メニューから[ファイル][実行][ＳＱＬオブジェクト情報表示]を選択します。

2. SQLオブジェクト情報表示ダイアログが表示されます。ＨｉＲＤＢサーバから最新のＳＱＬオブジェクト情報を取得して表示する場合は、手順3へ進んでください。あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得して表示する場合は、手順5へ進んでください。

ＨｉＲＤＢサーバからＳＱＬオブジェクト情報を取得して表示する場合

3. ＳＱＬオブジェクト情報表示ダイアログで、［HiRDBサーバから最新のSQLオブジェクト情報を取得する］を選択して、ＨｉＲＤＢサーバへの接続情報を設定します。

4. パラレルサーバの場合に、特定のＦＥＳのＳＱＬオブジェクト情報だけを取得したい場合は、ＳＱＬオブジェクト情報表示ダイアログで、ＦＥＳ名を指定します。全てのＦＥＳのＳＱＬオブジェクト情報を取得したい場合は、ＦＥＳ名入力フィールドを空欄にします。手順6へ進んでください。

あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得して表示する場合

5. ＳＱＬオブジェクト情報表示ダイアログで、［HiRDBサーバから最新のSQLオブジェクト情報を取得する］を選択して、解析対象となるファイルを選びます。手順6へ進んでください。

6. 表示するＳＱＬオブジェクトを絞込む場合は、ＳＱＬオブジェクト情報表示ダイアログの［フィルタリング設定］ボタンを押します。フィルタリング指定ダイアログが表示されます。フィルタリング指定ダイアログで絞り込み条件を設定します。フィルタリング指定ダイアログを閉じて、ＳＱＬオブジェクト情報表示ダイアログに戻ります。

7. ＳＱＬオブジェクト情報表示ダイアログを［ＯＫ］ボタンを押して閉じると、SQLオブジェクト情報表示画面が表示されます。

8. 同じＳＱＬオブジェクト情報を絞り込み条件を変更して再表示する場合は、ＳＱＬオブジェクト情報表示画面の［フィルタリング設定］ボタンを押します。フィルタリング指定ダイアログが表示されます。フィルタリング指定ダイアログを［ＯＫ］ボタンを押します。変更後の条件で絞り込んだＳＱＬオブジェクトの情報がＳＱＬオブジェクト情報表示画面に表示されます。

＜この節の構成＞

ＳＱＬオブジェクト情報表示ダイアログ

ＳＱＬオブジェクト情報表示画面

フィルタリング指定ダイアログ

ＳＱＬオブジェクト情報をファイルに出力する方法


SQLオブジェクト情報表示ダイアログ

メニューから[ファイル][実行][ＳＱＬオブジェクト情報表示]を選択すると図１のＳＱＬオブジェクト情報表示ダイアログを表示します。ＨｉＲＤＢサーバから最新のＳＱＬオブジェクト情報を取得して表示するか、あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得して表示するかを選択してから必要な情報を入力します。

図１　SQLオブジェクト情報表示ダイアログ(ＨｉＲＤＢサーバから・・・)

図２　SQLオブジェクト情報表示ダイアログ(あらかじめファイルに・・・)

l [HiRDBサーバから最新のSQLオブジェクト情報を取得する(G)]選択ボタン

ＨｉＲＤＢサーバから最新のＳＱＬオブジェクト情報を取得する場合に選択します。デフォルトでこちらが選択されます。

l [あらかじめファイル出力しておいたSQLオブジェクト情報を取得する(Q)]選択ボタン

あらかじめファイルに出力しておいたＳＱＬオブジェクト情報を取得する場合に選択します。選択すると、SQLオブジェクト情報表示ダイアログが図２に示す形式に変化します。

l [OK]ボタン

ダイアログを閉じます。設定内容を使用して、ＳＱＬオブジェクト情報を取得し、ＳＱＬオブジェクト情報表示画面表示します。

l [ｷｬﾝｾﾙ]ボタン

ダイアログを閉じメイン画面に遷移します。

l [ﾌｨﾙﾀﾘﾝｸﾞ設定(T)...]ボタン

取得したＳＱＬオブジェクトの情報を表示する時のフィルタリング条件を指定するためのダイアログを表示します。

（ａ）[HiRDBサーバから最新のSQLオブジェクト情報を取得する(G)]を選択した場合について

l [接続情報名(I):]コンボボックス

ＨｉＲＤＢサーバに接続するための接続情報（ホスト名、ポート番号、認可識別子、パスワード、文字コード種別のセット）を表す接続情報名をリストから選択します。選択すると接続情報名に対応した値がＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別の入力フィールドに設定されます。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワード、文字コード種別の入力フィールドに直接キー入力を行うと接続情報名はクリアされます。接続情報名を直接キー入力することはできません。接続情報名を追加登録したり、登録済みの接続情報を変更したりする場合は、右の[設定(S)...]ボタンを押して接続情報設定ダイアログを開いてください。初期値は環境設定で設定できます。

l [設定(S)...]ボタン

接続情報設定ダイアログを表示します。接続情報設定ダイアログについては接続情報設定機能を参照願います。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

認可識別子にはＨｉＲＤＢシステム管理者権限のあるユーザを指定する必要があります。

l [ﾊﾟｽﾜｰﾄﾞ(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字ｺｰﾄﾞ種別(C):]リストボックス

取得先のHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : ＳＱＬオブジェクト情報の解析をシフトJISコードで行います。

UTF-8 : ＳＱＬオブジェクト情報の解析をUnicode(UTF-8)で行います。

EUC : ＳＱＬオブジェクト情報の解析をEUC日本語漢字コードで行います。

l [次回もこの値を使う(R)]チェックボックス

チェックすると、次回このダイアログを開いたときに、現在入力されている接続情報名、PDHOST,PDNAMEPORT、認可識別子、パスワード、文字コード種別と同じ値が設定されます。このチェックボックスの設定内容は環境設定ダイアログで変更できます。環境設定の[接続]タブの説明を参照してください。

l [FESｻｰﾊﾞ名(E):]テキストエリア

パラレルサーバで特定のＦＥＳサーバのＳＱＬオブジェクト情報だけを取得したい時に、ＦＥＳサーバ名を設定します（最大8文字）。使用できる文字は半角英数字と半角下線だけです。複数のサーバを指定したい時は半角カンマ(,)で区切ります。１０２４個まで指定できます。全体で9215文字までしか入力できません。省略すると全てのＦＥＳサーバのＳＱＬオブジェクト情報を取得します。

（ｂ）[あらかじめファイル出力しておいたSQLオブジェクト情報を取得する(Q)]を選択した場合について

l [ﾌﾟﾛﾌｧｲﾙ(P):]コンボボックスメニュー

ファイルが存在するホストへ接続するためのプロファイルを選択します。

直接入力は、できません。右の[設定(S)...]ボタンで登録してください。

自マシン上のファイルを参照する場合は、「(ﾛｰｶﾙﾎｽﾄ)」を選択してください。

l [設定(S)...]ボタン

プロファイル設定ダイアログを表示して、プロファイルの登録・変更・削除および、内容の参照を、行います。プロファイル設定ダイアログについては、対象ファイル指定の「図３ プロファイル設定ダイアログ」を参照してください。

l [ﾌｧｲﾙ(F):]テキストエリア

対象とするファイル名を記述します。ファイル名としてのワイルドカード指定が可能です。

サブフォルダの参照を行いません。

(最大1024バイト)

注）ＳＱＬオブジェクト情報ファイルは、Window系で出力したファイル（改行がCR+LF）、

Unix系で出力したファイル（改行がLF）のどちらにも対応しています。

l [参照(B)...]ボタン

ファイルを選択するダイアログを表示し、ユーザが選択形式で、ファイルを指定できるようにします。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」以外が選択されている場合、ＦＴＰによりリモートホストの情報も

選択形式で指定できます。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」が選択されており、[参照]ボタンを押した場合には、ローカルファイル参照ダイアログが表示されます。 ローカルファイル参照ダイアログについては、対象ファイル指定の「図４ ローカルファイル参照ダイアログ」を参照してください。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」以外が選択されており、[参照]ボタンを押した場合には、リモートファイル参照ダイアログが表示されます。 リモートファイル参照ダイアログについては、対象ファイル指定の「図５ リモートファイル参照ダイアログ」を参照してください。

l [文字ｺｰﾄﾞ種別(O):]リストボックス

ファイルに格納されているデータの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : ＳＱＬオブジェクト情報の解析をシフトJISコードで行います。

UTF-8 : ＳＱＬオブジェクト情報の解析をUnicode(UTF-8)で行います。

EUC : ＳＱＬオブジェクト情報の解析をEUC日本語漢字コードで行います。

初期値はSJISが選択されています。

l [↓追加(E)]ボタン

「ファイルの指定」エリアに入力されたファイル名を、解析対象の一覧を示すリストエリアに追加します。

l [↑コピー(C)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、「ファイルの指定」エリアに複写します。

l [↓更新(H)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、「ファイルの指定」エリアに入力された内容に書き換えます。

l [×削除(D)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、削除します。

l [対象ﾌｧｲﾙの一覧(L):]リストエリア

解析対象の一覧を示します。

（注）SQLｵﾌﾞｼﾞｪｸﾄ情報の解析対象ﾌｧｲﾙとして指定できる数の最大は、100ﾌｧｲﾙです。


ＳＱＬオブジェクト情報表示画面

ＨｉＲＤＢサーバから取得したＳＱＬオブジェクト情報を表示します。タイトルバーの数字は、運用コマンドを発行するごとにカウントアップされます。既存のファイルを表示する場合は数字の代わりにファイル名が挿入されます。

図１　ＳＱＬオブジェクト情報表示画面

l [SDS/FESサーバ名(S):]リストボックス

ＳＱＬオブジェクト情報を取得したＳＤＳ／ＦＥＳのサーバ名のリストと「全体」が設定されます。初期値は「全体」です。

l ＳＱＬオブジェクト状態

ＳＱＬオブジェクトの利用状況の要約をＳＤＳ／ＦＥＳサーバ単位に表示します。ＳＤＳ／ＦＥＳサーバ名リストから選んだサーバに対応した要約が表に表示されます。取得した時刻はそのＳＤＳ／ＦＥＳサーバ名からSQLオブジェクト情報を取得した時刻が表示されます。ＳＤＳ／ＦＥＳサーバ名で「全体」を選択した場合は情報を取得した全てのＦＥＳの合計が表示されます。そのとき、取得時刻は一番若い時刻になります。表の縦軸はＳＱＬオブジェクトの状態で、横軸はＳＱＬのタイプを示します。ＳＱＬのタイプごとに各々の状態にあるＳＱＬオブジェクトの個数と合計（TOTAL）をセルに表示します。

SQLオブジェクトの状態を「SQLオブジェクト表示項目」の「表２　SQLオブジェクトの状態」に示します。SQLオブジェクトのタイプを「SQLオブジェクト表示項目」の「表３　SQLオブジェクトのタイプ」に示します。

l ＳＱＬオブジェクト情報

取得したＳＱＬオブジェクト情報(「SQLオブジェクト表示項目」参照)が一覧形式で表示されます。ＳＤＳ／ＦＥＳサーバ名リストから選んだサーバに対応した情報が表示されます。ＳＤＳ／ＦＥＳサーバ名で「全体」を選択した場合は情報を取得した全てのＦＥＳの情報が表示されます。表の各行がＳＱＬオブジェクトひとつに対応します。表に対して、次の操作ができます。

¨ 行の並べ替え：並べ替えキーとしたい項目名の部分をクリックすると行えます。

¨ 行に対するマーキング：メニュー[編集(E)][マーク(M)]の各操作にて行えます。

¨ 表示列の絞込みおよび列の並べ替え：メニュー[表示(V)][列の選択(N)...]にて行えます。

¨ ダイナミックブラウジング機能の呼び出し：行を選択して右クリックを行うと、ポップアップメニュー[ダイナミックブラウジング]が表示されます。メニューを選択するとダイナミックブラウジングダイアログを表示し、選択した行のSQLオブジェクト情報から最適化オプションとＳＱＬ文がダイナミックブラウジングダイアログ中に展開されます。ダイナミックブラウジングダイアログにつては、ダイナミックブラウジング機能詳細を参照してください。

¨ 折り返し表示の切り換え：表を右クリックして、ポップアップメニューの[折り返して表示する]にチェックを入れると、セルの幅を超える項目を折り返して表示します。このとき、見出し行の高さは項目名の全体が折り返して表示されるように自動的に調整されます。また、データ行については、境界線をマウスでドラッグして行の高さを変更できるようになります。

¨ SQLオブジェクトの内容表示：展開したいデータ行にて右クリックを行うと、ポップアップメニュー[内容表示]が表示されます。メニューを選択するとデータ行に対するSQLオブジェクト内容画面を表示します。

本操作は、展開したいデータ行にてダブルクリックでも同じ結果が得られます。

SQLオブジェクト内容画面のタイトルは、『ＳＱＬオブジェクト』に続き、[SQL OBJECT NO]の値を括弧で囲み表示します。本画面で操作できる内容は、『メインウィンドウ　提供しているメニュー』を参照してください。

図２　ＳＱＬオブジェクト内容画面

本操作を行った数だけ、SQLオブジェクト内容画面が生成されますので、不要となった画面は、右上の×アイコンをクリックするなどを行い、閉じてください。

テキストフィールドにはＳＱＬオブジェクト情報フレームの表の選択しているセルの値が表示されます。

l ［フィルタリング設定…］ボタン

絞り込み条件を変更する場合にこのボタンを押します。ボタンを押すと、フィルタリング指定ダイアログが表示されます。

その他：

ＳＱＬオブジェクト情報表示画面から、フィルタリング指定ダイアログを開いて絞り込み条件を変更した場合、SQLオブジェクト情報表示ダイアログからフィルタリング指定ダイアログを開いて指定した絞り込み条件は無効になります。

ＳＱＬオブジェクト情報表示画面から、フィルタリング指定ダイアログを開いて絞り込み条件を変更しても、ＳＱＬオブジェクト情報をＨｉＲＤＢサーバから再取得することはありません。取得済みのＳＱＬオブジェクト情報に、変更後の絞り込み条件を適用します。ＳＱＬオブジェクト情報をＨｉＲＤＢサーバから再取得するには、メニューから[ファイル][実行][ＳＱＬオブジェクト情報表示]を選択します。

複数のＳＱＬオブジェクト情報表示画面を同時に開くことができます。メニューから[ファイル][実行][ＳＱＬオブジェクト情報表示]を選択するたびに、新しいＳＱＬオブジェクト情報をＨｉＲＤＢサーバから取得して新しい画面を開きます。

メニューから[ファイル][印刷]を選択して、ＳＱＬオブジェクト情報表示画面の情報を印刷できます。

メニューから[ファイル][保存]を選択して表のデータをCSV形式ファイルに保存できます。保存する時はＳＱＬオブジェクト状態とＳＱＬオブジェクト情報をそれぞれ別々のファイルに書き出します。

注意事項：

・環境設定ダイアログでＳＱＬオブジェクト情報の格納先を指定します。指定した格納先にＳＱＬオブジェクト情報を格納するときに入出力エラーが発生すると、ＳＱＬオブジェクト情報の一部または全部が欠落することがあります。

・ＳＱＬオブジェクト情報をファイルから入力する場合に、入力ファイル中に運用コマンドpdobilsをＮ回実行した結果が格納されていれば、Ｎ個のＳＱＬオブジェクト情報表示画面を表示します。ＳＱＬオブジェクト情報をファイルに出力する方法を参照してください。


フィルタリング指定ダイアログ

このダイアログで、ＳＱＬオブジェクトを絞り込む条件を設定します。複数項目の指定はAndとみなします。

図　フィルタリング指定ダイアログ（共通部分）

l [項目(I):]コンボボックス

条件設定の項目として表「条件指定項目」に示す項目があります。

項目を選択すると、その項目の条件を入力するための[条件]フレームが表示されます。

l ［条件］フレーム

絞り込み条件を入力するためのフレームです。［項目］コンボボックスで選択した項目によって、表示形式が変わります。

l [↓追加(E)]ボタン

指定条件を絞込条件一覧に登録します。

l [×削除(D)]ボタン

絞込条件一覧から現在選択されている条件を削除します。

l [フィルタリング条件一覧(L):]リストエリア

絞込条件を文字列で表現した一覧を表示します。

l ［ＯＫ］ボタン

設定内容を有効にして、フィルタリング指定ダイアログを閉じます。

l ［キャンセル］ボタン

設定内容を無効にして、フィルタリング指定ダイアログを閉じます。

表　条件指定項目

＃ | ［項目］コンボボックス の表示 | 内容 | 使用する ダイアログ
1 | STATUS, TYPE | ・ＳＱＬオブジェクトの状態 ・ＳＱＬオブジェクトのタイプ | ＳＱＬオブジェクトの状態とタイプ指定
2 | EXECUTE COUNT | ・ＳＱＬオブジェクトを実行した回数 | 数値範囲指定
3 | EXECUTE TIME AVG | ・ＳＱＬオブジェクトの平均実行時間 | 時間範囲指定
4 | EXECUTE TIME MAX | ・ＳＱＬオブジェクトの最大実行時間 | 時間範囲指定
5 | UAP NAME, PREP.SOURCE, SERVICE NAME | ・最大実行時間を記録したＵＡＰ名 ・プリプロセスしたＵＡＰのソースプログラム名 ・ＯＬＴＰ下で実行した場合、最大実行時間を記録したサービス名 | ＵＡＰ名、ＵＡＰソース名、サービス名指定
6 | CONNECT NO | ・最大実行時間を記録したＵＡＰのコネクト通番 | 数値範囲指定
7 | SQL NO | ・最大実行時間を記録したＳＱＬカウント | 数値範囲指定
8 | SQL | ・ＳＱＬ文 | ＳＱＬ指定

使用例

パラレルサーバの全てのＦＥＳからＳＱＬオブジェクトの平均実行時間が２秒以上のＳＱＬオブジェクトの情報を表示する手順を次に示します。

１．メニューから[ファイル][実行][ＳＱＬオブジェクト情報表示]を選択します。ＳＱＬオブジェクト情報表示ダイアログが表されます。

２．ＳＱＬオブジェクト情報表示ダイアログで、ＨｉＲＤＢサーバへの接続情報を設定します。ＦＥＳ名入力フィールドは空欄にします。

３．ＳＱＬオブジェクト情報表示ダイアログの［フィルタリング設定］ボタンを押します。フィルタリング指定ダイアログが表示されます。

４．フィルタリング指定ダイアログの［項目］リストボックスで「ＳＱＬオブジェクトの平均実行時間」を選択します。条件フレームに「０分２秒０ミリ秒以上」を設定して、追加ボタンを押します。［ＯＫ］ボタンを押すと、フィルタリング指定ダイアログが閉じて、ＳＱＬオブジェクト情報表示ダイアログに戻ります。

５．ＳＱＬオブジェクト情報表示ダイアログで［ＯＫ］ボタンを押します。ＳＱＬオブジェクト情報表示画面が表示されます。


フィルタリング指定ダイアログ（ＳＱＬオブジェクトの状態とタイプ指定）

ＳＱＬオブジェクトの状態またはタイプの絞込み条件を指定するときに使います。

図　フィルタリング指定ダイアログ（ＳＱＬオブジェクトの状態とタイプ指定）

条件指定：

指定値は表「SQLオブジェクトの状態」、「SQLオブジェクトのタイプ」に示されている値をコンボボックスから選択します。

絞込み条件を設定しない項目については、コンボボックスから空白を選択します


フィルタリング指定ダイアログ（ＳＱＬ指定）

ＳＱＬ文の絞込み条件を指定します。

図 フィルタリング指定ダイアログ（ＳＱＬ指定）

条件指定：

・[ＳＱＬ文中に含まれる文字列(S):]テキストエリア

        指定された文字列を含む（部分一致、または前方一致）ＳＱＬを条件とします。

        (最大32767バイト)

・[大文字と小文字を区別する(C)]チェックボックス

チェックされたとき、入力された情報（ＳＱＬ文中に含まれる文字列）の大文字と小文字の区別を行います。２バイト英字は本操作に関わらず、大文字と小文字が区別されます。

・[比較方式(M):] コンボボックス

入力された情報（ＳＱＬ文の中に含まれる文字列）をＳＱＬ文と比較する方式をリストから選択します。次の選択項目があります。

部分一致：入力された情報がＳＱＬ文の一部分と一致することを条件とします。

前方一致：入力された情報がＳＱＬ文の先頭部分と一致することを条件とします。


フィルタリング指定ダイアログ（ＵＡＰ名、ＵＡＰソース名、サービス名指定）

ＯＬＴＰ下での実行した場合の最大実行時間を記録したサービス名、最大実行時間を記録したＵＡＰ名、プリプロセスしたＵＡＰのソースプログラム名の絞込み条件を指定するときに使用します。

図　フィルタリング指定ダイアログ（ＵＡＰ名、ＵＡＰソース名、サービス名指定）

条件指定：

・[ＵＡＰ名(U):]テキストエリア

ＵＡＰ名を指定します。指定した文字列を含むＵＡＰ名を抽出します。絞込み条件を指定しない場合は空白にします。

(最大30バイト)

・[ＵＡＰソース名(A):]テキストエリア

ＵＡＰソース名を指定します。指定した文字列を含むＵＡＰソース名を抽出します。絞込み条件を指定しない場合は空白にします。

(最大30バイト)

・[サービス名(S):]テキストエリア

ＯＬＴＰ下で実行するサービス名を指定します。指定した文字列を含むサービス名を抽出します。詳細については使用しているＯＬＴＰのマニュアルを参照してください。絞込み条件を指定しない場合は空白にします。

(最大31バイト)

・[大文字と小文字を区別する(C)]チェックボックス

チェックされたとき、入力された情報（ＵＡＰ名、ＵＡＰソース名、サービス名）の大文字と小文字の区別をします。２バイト英字は本操作に関わらず、大文字と小文字が区別されます。


フィルタリング指定ダイアログ（時間範囲指定）

ＳＱＬオブジェクトの平均実行時間、最大実行時間の絞込み条件を指定するときに使います。

図 フィルタリング指定ダイアログ（時間範囲指定）

条件指定：

項目で指定した時間の範囲条件を指定します。

・[下限値の指定(O)]チェックボックス

チェックされたとき、下限値の指定を有効とします。

チェックを外すと、下限値の指定を無効とし、「分」「秒」「ﾐﾘ秒」欄を非入力状態にします。

・[上限値の指定(U)]チェックボックス

チェックされたとき、上限値の指定を有効とします。

チェックを外すと、上限値の指定を無効とし、「分」「秒」「ﾐﾘ秒」欄を非入力状態にします。

・分は、0～59の値を入力してください。

・秒は、0～3599の値を入力してください。

・ミリ秒は、0～99999の値を入力してください。

・通算した入力値が59分59秒999ミリ秒を超えることはできません。


フィルタリング指定ダイアログ（数値範囲指定）

ＳＱＬオブジェクトを実行した回数、最大実行時間を記録したＵＡＰのコネクト通番, 最大実行時間を記録したＳＱＬカウントの範囲を指定するときに使います。

図　フィルタリング指定ダイアログ（数値範囲指定）

条件指定：

項目で指定した値の範囲を0～2147483647の符号なし整数で指定します。

・[下限値の指定(O)]チェックボックス

チェックされたとき、下限値の指定を有効とします。

チェックを外すと、下限値の指定を無効とし、入力欄を非入力状態にします。

・[上限値の指定(U)]チェックボックス

チェックされたとき、上限値の指定を有効とします。

チェックを外すと、上限値の指定を無効とし、入力欄を非入力状態にします。


ＳＱＬオブジェクト情報をファイルに出力する方法

ここでは、ＳＱＬオブジェクト情報をあらかじめファイルに出力しておく方法について説明します。ＳＱＬオブジェクト情報をファイルに出力するには、ＨｉＲＤＢの運用コマンドpdobilsの標準出力をファイルにリダイレクトします。ファイルに出力したＳＱＬオブジェクト情報を保存するためには、次の２つの方法があります。

l 運用コマンドを実行するたびに別のファイルに出力する

l 同じファイルに追加出力する

（ａ）ＨｉＲＤＢサーバのバージョンが07-01以前の場合

ＨｉＲＤＢサーバのバージョンが07-01以前の場合は、運用コマンドを実行するたびに別のファイルに出力するようにしてください。同じファイルに追加出力すると、ＳＱＬオブジェクト情報表示機能でそのファイルを入力しても、正常に表示できません。

（ｂ）ＨｉＲＤＢサーバのバージョンが07-02以降の場合

ＨｉＲＤＢサーバのバージョンが07-02以降の場合は、同じファイルに追加出力することができます。ＳＱＬオブジェクト情報表示機能は、運用コマンドが一度に出力する情報を１つのＳＱＬオブジェクト情報表示画面に表示します。入力ファイル中にコマンドをＮ回実行した結果が格納されている場合、Ｎ個のＳＱＬオブジェクト情報表示画面を表示します。


環境設定

メニュー[オプション(O)]-[環境設定(E)…]を選択すると、環境設定ダイアログが表示されます。

図１ 環境設定ダイアログ

l [ディレクトリ(D)]タブ

SQLトレースファイル、アクセスパス情報ファイル、およびSQLオブジェクト情報ファイルを解析する上で必要な作業用ファイルを格納するディレクトリを設定するときに使用します。環境設定ダイアログを開いたときにはデフォルトでこのタブが選択されます。

l [接続(C)]タブ

HiRDBサーバに接続するための接続情報のデフォルト値を設定するときに使用します。

l [アクセスパス(A)]タブ

アクセスパス詳細画面（GUI形式）の表示内容を設定するときに使用します。

l [OK]ボタン

設定内容を有効にします。

l [ｷｬﾝｾﾙ]ボタン

設定内容をキャンセルします。

[ディレクトリ(D)]タブが選択されている画面について説明します。

l [SQLﾄﾚｰｽﾌｧｲﾙの格納先(S):]テキストエリア

解析処理実行時、取得したSQLﾄﾚｰｽ情報ﾌｧｲﾙを格納するディレクトリを指定します。

(最大1024バイト)

l [ｱｸｾｽﾊﾟｽ情報ﾌｧｲﾙの格納先(E):]テキストエリア

解析処理実行時、取得したｱｸｾｽﾊﾟｽ情報ﾌｧｲﾙを格納するディレクトリを指定します。

(最大1024バイト)

l [SQLｵﾌﾞｼﾞｪｸﾄ情報の格納先(O):]テキストエリア

SQLオブジェクト情報の格納先を指定します。

  (最大1024バイト)

注意事項：指定された格納先の絶対パス名が長いと、システムにより、ファイルの解析時にエラーが発生することがあります。

[接続(C)]タブが選択されている画面について説明します。

図２ 環境設定ダイアログ（接続タブ）

アクセスパス集計、ダイナミックブラウジング、アクセスパス抽出、ディクショナリ表示、インデクス提案、SQLオブジェクト情報表示の各機能で使用する接続情報(HiRDBサーバのホスト名とポート番号、認可識別子とそのパスワード)のデフォルト値を指定します。ここで指定した接続情報のデフォルト値が、各機能の起動時に表示されるダイアログに初期値として設定されます。各機能の起動時に表示されるダイアログを表１に示します。

表１　各機能の起動時に表示されるダイアログ

機能 | 起動時に表示されるダイアログ | 各ダイアログの説明の参照個所
アクセスパス集計 | アクセスパス集計ダイアログ | アクセスパス集計機能詳細
ダイナミックブラウジング | ダイナミックブラウジングダイアログ | ダイナミックブラウジング機能詳細
アクセスパス抽出 | アクセスパス抽出ダイアログ | アクセスパス抽出機能詳細
ディクショナリ表示 | 接続情報ダイアログ | ディクショナリ表示機能詳細
インデクス提案 | 接続情報ダイアログ | インデクス提案機能詳細
SQLオブジェクト情報表示 | SQLオブジェクト情報表示ダイアログ | SQLオブジェクト情報表示機能詳細

各機能の(機能名の左側にある)チェックボックスをチェックして、(機能名の右側にある)[デフォルト接続情報名]コンボボックスで接続情報名を選択することにより、各機能の接続情報のデフォルト値を指定できます。インストール直後は全機能のチェックボックスがチェックされており、全機能のコンボボックスで「起動時の値」が選択されています。「起動時の値」については、接続情報設定ダイアログを参照してください。

各機能のチェックボックスのチェックを外すと、[デフォルト接続情報名]コンボボックスで選択した値は無効となり、前回(各機能を実行したときに)使用した接続情報の値が、接続情報のデフォルト値になります。ただし、インストール後に各機能を初めて使用する時は、「起動時の値」が接続情報のデフォルト値になります。

各機能のチェックボックスと接続情報のデフォルト値の関係を表２に示します。

表２　接続情報のデフォルト値

各機能のチェックボックス | 使用回数 | 接続情報のデフォルト値
チェックを入れる | － | [デフォルト接続情報名]コンボボックスで選択した接続情報
チェックを外す | 初回 | 起動時の値
 | ２回目以降 | 前回使用した接続情報の値

環境設定ダイアログの各機能のチェックボックスの設定内容が、各機能の起動時に表示されるダイアログの[次回もこの値を使う]チェックボックスの初期状態に反映されます。

環境設定ダイアログの 各機能のチェックボックスの設定内容 | 各機能の起動時に表示されるダイアログの [次回もこの値を使う]チェックボックスの初期状態
チェックを入れる | チェックが外れる
チェックを外す | チェックが入る

逆に、各機能の起動時に表示されるダイアログの [次回もこの値を使う]チェックボックスの設定内容が、環境設定ダイアログの各機能のチェックボックスの初期状態に反映されます。

各機能の起動時に表示されるダイアログの [次回もこの値を使う]チェックボックスの設定内容 | 環境設定ダイアログの 各機能のチェックボックスの初期状態
チェックを入れる | チェックが外れる
チェックを外す | チェックが入る

l [設定(S)…]ボタン

設定ボタンを押すと接続情報設定ダイアログが開いて接続情報の編集が行なえます。接続情報設定ダイアログを参照してください。

l [接続情報ﾀﾞｲｱﾛｸﾞ非表示] チェックボックス

各機能名([ﾃﾞｨｸｼｮﾅﾘ表示]または[ｲﾝﾃﾞｸｽ提案])のチェックボックスをチェックすると、当該機能(ディクショナリ表示機能またはインデクス提案機能)の起動時に、接続情報ダイアログを表示せずに、接続情報のデフォルト値を使用してサーバに接続します。接続情報のデフォルト値については、「表２　接続情報のデフォルト値」を参照してください。インストール直後はチェックが外れています。このチェックボックスは接続情報ダイアログの[次回からこのダイアログを表示しない]チェックボックスと連動しており、接続情報ダイアログの[次回からこのダイアログを表示しない]にチェックを入れると、このチェックボックスにチェックが入ります。

[アクセスパス(A)]タブが選択されている画面について説明します。

図３　環境設定ダイアログ（アクセスパスタブ）

本画面では、アクセスパス詳細画面（GUI形式）の表示内容を設定します。

l 中間結果情報：[表示する(E)]ラジオボタン

グラフィック上に、ＳＱＬトレースから取得した中間結果情報を表示します。（ＳＱＬトレース上に該当する中間結果が存在しないときは、表示されません。）

この設定を行いグラフィックを表示しようとし、該当する中間結果が複数存在する場合、一覧から中間結果を選択していただく操作が必要となります。

インストール直後の状態は、非選択状態です。

l [警告する閾値(W):]テキストエリア

中間結果情報の中に存在する特定の組合せにおいて件数を比較し、設定された閾値を超えていた場合、警告情報を出力します。特定の組合せについては、『付録Ｂ．ガイダンス一覧』を参照してください。

入力可能な値は、１～１０００の整数です。

[中間結果情報：表示する]ラジオボタンを選択したときに有効となります。

l [データ件数の取得を行なう(G)]チェックボタン

テーブル検索を行い、テーブル格納件数の表示を行ないます。

[中間結果情報：表示する]ラジオボタンを選択したときに有効となります。

l [接続情報名(I):]コンボボックス

ホスト名、ポート番号、認可識別子、パスワードのセットを表す接続情報のリストから接続情報名を選択します。リストは接続情報設定ファイルから読み込まれます。選択すると接続情報名に対応した値をＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワードフィールドに設定します。ＰＤＨＯＳＴ、ＰＤＮＡＭＥＰＯＲＴ、認可識別子、パスワードフィールドにキー入力を行うと接続情報名はクリアされます。

l [設定(S)…]ボタン

接続情報設定ダイアログを表示します。

l [PDHOST(H):]、[PDNAMEPORT(N):]テキストエリア

各々の環境変数を設定します。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

最大入力長は、[PDHOST(H):]が１２８文字、[PDNAMEPORT(N):]が５文字です。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(O):]リストボックス

アクセスパス情報ファイルを生成したHiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : アクセスパス情報ファイルの解析および検索結果の解析をシフトJISコードで行います。

UTF-8 : アクセスパス情報ファイルの解析および検索結果の解析をUnicode(UTF-8)で行います。

EUC : アクセスパス情報ファイルの解析および検索結果の解析をEUC日本語漢字コードで行います。

l 中間結果情報：[表示しない(F)]ラジオボタン

グラフィック上に、中間結果情報を表示しません。（ＳＱＬトレースを参照しません。）

インストール直後の状態は、選択状態です。


対象ファイル指定

メニュー[オプション(O)]-[対象ファイル指定(O)…]を選択すると、対象ファイル指定ダイアログが表示されます。本画面では、解析対象とするSQLトレースファイルおよびアクセスパス情報ファイルの設定をします。次に対象ファイル指定ダイアログを示します。

図１ 対象ファイル指定ダイアログ([SQLﾄﾚｰｽ]タブ)

図２ 対象ファイル指定ダイアログ([ｱｸｾｽﾊﾟｽ]タブ)

l [SQLﾄﾚｰｽ(S)]タブ

SQLトレース解析対象ファイルを指定します。

l [ｱｸｾｽﾊﾟｽ(A)]タブ

アクセスパス解析対象ファイルを指定します。

l [OK]ボタン

対象ファイル指定ダイアログの設定を完了します。

l [ｷｬﾝｾﾙ] ボタン

対象ファイル指定を中断します。更新した内容は、保存されません。

[SQLﾄﾚｰｽ(S)]タブおよび[ｱｸｾｽﾊﾟｽ(A)]タブの共通の内容について説明します。

l [ﾌﾟﾛﾌｧｲﾙ(P):]コンボボックス

ファイルが存在するホストへ接続するためのプロファイルを選択します。

直接入力は、できません。右の[設定(T)...]ボタンで登録してください。

自マシン上のファイルを参照する場合は、「(ﾛｰｶﾙﾎｽﾄ)」を選択してください。

l [設定(T)...]ボタン

プロファイルの登録・変更・削除および、内容の参照を、行います。

図３に[設定(T)...]ボタンを押した場合に表示される、ダイアログを示します。

l [ﾌｧｲﾙ(F):]テキストエリア

対象とするファイル名を記述します。ファイル名としてのワイルドカード指定が可能です。

サブフォルダの参照を行いません。

(最大1024バイト)

注）ＳＱＬトレースファイルは、Windows系で出力したファイル（改行がCR+LF）、

Unix系で出力したファイル（改行がLF）のどちらにも対応しています。

l [参照(B)...]ボタン

ファイル選択ダイアログを表示し、ユーザが選択形式で、ファイルを指定できるようにします。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」以外が選択されている場合、FTPによりリモートホストの情報も選択形式で指定できます。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」が選択されており、[参照(B)...]ボタンを押した場合に表示されるダイアログを図４に示します。

プロファイルにて「(ﾛｰｶﾙﾎｽﾄ)」以外が選択されており、[参照(B)...]ボタンを押した場合に表示されるダイアログを図５に示します。

l [↓追加(E)]ボタン

「ファイルの指定」エリアに入力されたファイル名を、解析対象の一覧を示すリストエリアに追加します。

l [↑コピー(C)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、「ファイルの指定」エリアに複写します。

l [↓更新(H)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、「ファイルの指定」エリアに入力された内容に書き換えます。

l [×削除(D)]ボタン

解析対象の一覧を示すリストエリアにて現在選択されている項目の内容を、削除します。

l [対象ﾌｧｲﾙの一覧(L):]リスト

解析対象の一覧を示します。

[SQLﾄﾚｰｽ(S)]タブ固有の内容について説明します。

l [PDCLTPATH上のpdsql*.trcﾌｧｲﾙとpd2sql*.trcﾌｧｲﾙ(I)]選択ボタン

HiRDBのクライアントの環境設定として、環境変数またはHiRDB.INIファイルにPDCLTPATHが設定されている場合、この値をディレクトリとしたSQLトレースファイル(pdsql*.trc、およびpd2sql*.trc)を対象とする場合に指定します。（通常SQLトレースファイルはPDCLTPATHに設定されたディレクトリ先に格納されます。これらの詳細はHiRDBのマニュアルを参照してください。）

l [PDCLTPATH上のpdsql*.trcﾌｧｲﾙ(I)]選択ボタンの下にある[文字ｺｰﾄﾞ種別(O):]リストボックス

ファイルに格納されているデータの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : ＳＱＬトレース情報ファイルの解析をシフトJISコードで行います。

UTF-8 : ＳＱＬトレース情報ファイルの解析をUnicode(UTF-8)で行います。

EUC : ＳＱＬトレース情報ファイルの解析をEUC日本語漢字コードで行います。

初期値は、SJISが選択されています。

l [指定ﾌｧｲﾙ(U)]選択ボタン

ユーザ任意のファイルを指定できます。

l [指定ﾌｧｲﾙ(U)]選択ボタンの下にある[文字ｺｰﾄﾞ種別(O):]リストボックス

ファイルに格納されているデータの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS : ＳＱＬトレース情報ファイルの解析をシフトJISコードで行います。

UTF-8 : ＳＱＬトレース情報ファイルの解析をUnicode(UTF-8)で行います。

EUC : ＳＱＬトレース情報ファイルの解析をEUC日本語漢字コードで行います。

初期値は、SJISが選択されています。

[ｱｸｾｽﾊﾟｽ(A)]タブ固有の内容について説明します。

l [PDTAAPINFPATH上の全てのﾌｧｲﾙ(I)]選択ボタン

HiRDBのクライアントの環境設定として、環境変数またはHiRDB.INIファイルに

PDTAAPINFPATHが設定されている場合、この値をディレクトリ名としたディレクトリに

格納されている全てのファイルを解析対象とする場合に指定します。

（PDTAAPINFPATHが設定されている場合、指定されたディレクトリに

アクセスパス情報ファイルが格納されます。これらの詳細はHiRDBマニュアル

「UAP開発ガイド」を参照してください。）

l [指定ﾌｧｲﾙ(U)]選択ボタン

ユーザ任意のファイルを指定できます。

注意事項：SQLﾄﾚｰｽの解析対象ﾌｧｲﾙとして指定できる数の最大は、100ﾌｧｲﾙです。

UAP情報が複数のSQLﾄﾚｰｽﾌｧｲﾙにまたがっている場合、時刻順にﾌｧｲﾙを指定しないと、一つのUAPとして正しく解析できません。

ｱｸｾｽﾊﾟｽの解析対象ﾌｧｲﾙとして指定できる数の最大は、4096ﾌｧｲﾙです。

図３ プロファイル設定ダイアログ

プロファイル設定ダイアログの内容について説明します。

l [ﾌﾟﾛﾌｧｲﾙ名(N):]テキストエリア

任意のユニークな名称を指定します。使用できる文字は半角英数字、半角カナ、全角文字及び記号（_-.@#$%&）です。

（最大127ﾊﾞｲﾄ）

l [接続先のﾎｽﾄ(H):]テキストエリア

FTPサーバのホスト名。あらかじめ、hostsファイルに登録する必要があります。

（IPアドレスの直接記述も可能）

（最大127ﾊﾞｲﾄ）

l [参照(B)...]ボタン

Ｈｏｓｔｓファイル参照ダイアログを表示し、ユーザが選択形式で、ﾎｽﾄ名を指定できるようにします。詳しくはHostsファイル参照ダイアログを参照してください。

l [ﾕｰｻﾞID(U):] テキストエリア

FTPサーバにログインするためのユーザ名。

（最大127ﾊﾞｲﾄ）

l [ﾊﾟｽﾜｰﾄﾞ(P):]テキストエリア

FTPサーバにログインするためのパスワード。

（最大127ﾊﾞｲﾄ）

l [ﾃﾞﾌｫﾙﾄﾃﾞｨﾚｸﾄﾘの設定(F):] 選択ボックス

指定しない：ログイン時のホームディレクトリがデフォルトとなります。

指定されたﾃﾞｨﾚｸﾄﾘ：指定されたディレクトリがデフォルトとなります。

l [ﾃﾞﾌｫﾙﾄﾃﾞｨﾚｸﾄﾘの設定(F):]テキストエリア

デフォルトディレクトリを指定します。

（最大512ﾊﾞｲﾄ）

l [ｻｰﾊﾞ種別]選択ボタン

HiRDB 05-02以前で出力したアクセスパス情報ファイルを解析する際に、エンディアン種別の情報として参照します。SQLトレースファイルや、HiRDB 05-03以降で出力したアクセスパス情報ファイルには影響がありません。

UNIX：ビックエンディアンで解析します。

PC(Windows/Linux)：リトルエンディアンで解析します。

l [追加(E)]ボタン

入力されたプロファイル情報を、「プロファイルの管理」一覧に追加します。

l [更新(C)]ボタン

「プロファイルの管理」にて選択されているプロファイル情報を、入力された内容に書き換えます。

l [削除(D)]ボタン

「プロファイルの管理」にて選択されているプロファイル情報を削除します。

l [ﾌﾟﾛﾌｧｲﾙの管理(L):]リスト

登録されているプロファイルの一覧を表示します。クリックすると選択されたプロファイルの詳細情報が左側領域に反映されます。

l [OK]ボタン

更新した内容を有効とし、本画面を閉じます。

l [ｷｬﾝｾﾙ]ボタン

    本画面を閉じます。更新した内容は、無効となります。

図４ ローカルファイル参照ダイアログ

図５ リモートファイル参照ダイアログ

リモートファイル参照ダイアログの内容について説明します。

l [上へ(U)]ボタン

一覧表示の内容を１つ上のディレクトリに移動します。

l [ﾌｧｲﾙの場所(I):]コンボボックス

一覧表示をしているディレクトリ名を表示します。

直接入力により、ディレクトリを移動することもできます。

l [ﾌｧｲﾙの一覧(L):]リスト

該当するディレクトリのファイル一覧を表示します。

l [OK]ボタン

選択されているファイルを戻り値として、本画面を終了します。

l [ｷｬﾝｾﾙ]ボタン

本画面を中断します。

注意事項：

・ 参照先のアクセス権限により、一覧が表示されているディレクトリへの移動ができなかったり、存在するファイル・ディレクトリが一覧に表示されない場合があります。

・ MicorsoftのFTPサーバで仮想ディレクトリを設定しているサイトのルートを参照した場合、一覧に仮想ディレクトリが表示されません。


フィルタリング指定

メニュー[オプション(O)]-[フィルタリング指定(F)…]を選択すると、フィルタリング指定ダイアログが表示されます。本画面では、解析対象とする情報の絞り込み条件を設定をします。条件設定の項目として次の項目があります。（複数項目の指定はAndとみなします）

（１） SQLトレース情報の項目

l UAP開始日時

l UAP名

l 認可識別子

l 所要時間（UAP時間、接続時間、トランザクション時間、SQL時間）

UAP時間：HiRDB側に制御がない時間の指定。

      各集計結果において、『経過時間』から、『合計実行時間』を引いた値。

      （SQLトレース詳細は対象外）

接続時間：接続単位集計において、『経過時間』の指定。

トランザクション時間：トランザクション単位集計において、『経過時間』の指定。

SQL時間：SQL単位集計において、『経過時間』の指定。

l SQL発行数

SQL発行数：SQL単位集計において、オペレーションコードの発行数の指定。

（２）アクセスパス情報の項目

l UAP最適化開始日時

l UAP名

l UAPソース名

l 認可識別子

l SQL文字列

l 結合方式

l 検索方式

＜この節の構成＞

フィルタリング指定画面共通部

フィルタリング指定（UAP開始日時、UAP最適化開始日時）

フィルタリング指定（UAP名、UAPソース名、認可識別子）

フィルタリング指定（所要時間）

フィルタリング指定（SQL文字列）

フィルタリング指定（SQL発行数）

フィルタリング指定 (結合方式)

フィルタリング指定 (検索方式)


フィルタリング指定画面共通部

図　フィルタリング指定ダイアログ

l [SQLﾄﾚｰｽ(S)]タブ

SQLトレースファイルに対する抽出条件を指定します。

l [ｱｸｾｽﾊﾟｽ(A)]タブ

アクセスパス情報ファイルに対する抽出条件を指定します。

l [項目(I)：]リスト

抽出条件の項目を選択します。

l [↓追加(E)]ボタン

抽出条件の指定値として[フィルタリング条件一覧]リストに登録します。

l [×削除(D)]ボタン

[フィルタリング条件一覧]リストにて選択されている抽出条件を削除します。

l [フィルタリング条件一覧(L)：]リスト

抽出条件を文字列で表現した一覧を表示します。

l [OK]ボタン

フィルタリング指定ダイアログを終了します。

l [ｷｬﾝｾﾙ]ボタン

フィルタリング指定ダイアログを中断します。


フィルタリング指定（ＵＡＰ開始日時、ＵＡＰ最適化開始日時）

フィルタリング指定（UAP開始日時、UAP最適化開始日時）

SQLトレース情報のUAP開始日時及び、アクセスパス情報のUAP最適化開始日時の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（UAP開始日時）

条件指定：

UAP開始日時（UAP最適化開始日時）の条件を指定します。

・[日付と時刻(P)]選択ボタン

条件は日付と時刻の組み合わせ単位となります。

・[日付(T)]選択ボタン

条件は日付単位となります。

・[時刻(M)]選択ボタン

条件は時刻単位となります。

・[開始日時の指定(F):]チェックボックス

チェックされたとき、開始日時の指定を有効とします。

チェックを外すと、開始日時の指定を無効とし、「日付」「時刻」欄を非入力状態にします。

・[終了日時の指定(O):]チェックボックス

チェックされたとき、終了日時の指定を有効とします。

チェックを外すと、終了日時の指定を無効とし、「日付」「時刻」欄を非入力状態にします。

・日付はYYYY/MM/DD形式で入力してください。

・時刻はHH:MM:DD形式で入力してください。


フィルタリング指定（ＵＡＰ名、ＵＡＰソース名、認可識別子）

フィルタリング指定（UAP名、UAPソース名、認可識別子）

SQLトレース情報のUAP名・認可識別子または、アクセスパス情報のUAP名・UAPソース名・認可識別子の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（UAP名、UAPソース名、認可識別子）

条件指定：

・[ＵＡＰ名(U)：]テキストエリア

UAP名を指定します。指定した文字列を含むUAP名を抽出します。

(最大30バイト)

・[ＵＡＰソース名(P)：]テキストエリア

UAPソース名を指定します。指定した文字列を含むUAPソース名を抽出します。

SQLトレースでは、入力不可となります。

(最大30バイト)

・[認可識別子(H)：]テキストエリア

認可識別子を指定します。指定した文字列を含む認可識別子を抽出します。

(最大10バイト)

・[大文字と小文字を区別する(C)]チェックボックス

チェックされたとき、入力された情報（UAP名、UAPソース名、認可識別子）の大文字と小文字の区別をします。２バイト英字は本操作に関わらず、大文字と小文字が区別されます。


フィルタリング指定（所要時間）

SQLトレース情報の、所要時間（UAP時間、接続時間、トランザクション時間、SQL時間）の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（所要時間）

条件指定：

項目で指定した所要時間の単位（図では、UAP時間）の条件を指定します。

・[下限値の指定(O)：]チェックボックス

チェックされたとき、下限値の指定を有効とします。

チェックを外すと、下限値の指定を無効とし、「時間」「分」「秒」「ﾐﾘ秒」欄を非入力状態にします。

・[上限値の指定(U)：]チェックボックス

チェックされたとき、上限値の指定を有効とします。

チェックを外すと、上限値の指定を無効とし、「時間」「分」「秒」「ﾐﾘ秒」欄を非入力状態にします。

    ・時間は、0～23の値を入力してください。

    ・分は、0～59の値を入力してください。

・秒は、0～59の値を入力してください。

・ミリ秒は、0～999の値を入力してください。


フィルタリング指定（ＳＱＬ文字列）

フィルタリング指定（SQL文字列）

アクセスパス情報の、SQL文字列の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（SQL文字列）

条件指定：

・[ＳＱＬ文中に含まれる文字列(Q)：]テキストエリア

      指定された文字列を含む（部分一致、または前方一致）ＳＱＬを条件とします。

      (最大32767バイト)

    ・[比較方式(M)：]選択リスト

      入力された情報（ＳＱＬ文の中に含まれる文字列）をＳＱＬ文と比較する方式をリストから選択します。

      次の選択項目があります。

      部分一致：入力された情報がＳＱＬ文の一部分と一致することを条件とします。

      前方一致：入力された情報がＳＱＬ文の先頭部分と一致することを条件とします。

・[大文字と小文字を区別する(C)]チェックボックス

チェックされたとき、入力された情報（SQL文中に含まれる文字列）の大文字と小文字の区別を行います。

２バイト英字は本操作に関わらず、大文字と小文字が区別されます。


フィルタリング指定（ＳＱＬ発行数）

フィルタリング指定（SQL発行数）

SQLトレース情報のSQL（オペレーションコード）発行数の絞り込み条件を指定します。

図 フィルタリング指定ダイアログ（SQL発行数）

条件指定：

ＳＱＬ発行数の条件を指定します。

・[下限値の指定(O)：]チェックボックス

チェックされたとき、下限値の指定を有効とします。

チェックを外すと、下限値の指定を無効とし、「回数」欄を非入力状態にします。

・[上限値の指定(U)：]チェックボックス

チェックされたとき、上限値の指定を有効とします。

チェックを外すと、上限値の指定を無効とし、「回数」欄を非入力状態にします。

   ・回数は、0～99999の値を入力してください。


フィルタリング指定（結合方式）

アクセスパス情報の、結合方式の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（結合方式）

条件指定：

・[結合方式(J)：]リスト

選択された結合方式を含むＳＱＬを解析対象の条件とします。

複数選択可能です。

すでに条件が設定されているとき、条件の内容を結合方式に反映します。


フィルタリング指定（検索方式）

アクセスパス情報の、検索方式の絞り込み条件を指定します。

図　フィルタリング指定ダイアログ（検索方式）

条件指定：

・[検索方式(C)：]リスト

選択された検索方式を含むＳＱＬを解析対象の条件とします。

複数選択可能です。

すでに条件が設定されているとき、条件の内容を検索方式に反映します。


ＳＱＬトレース詳細表示

SQLトレース集計情報画面にて、メニュー[表示(V)]-[SQLトレース]を選択すると、現在選択されているSQLトレース集計に対応するSQLトレースの詳細が表示されます。

図　SQLトレースの詳細画面

  該当するSQLトレースがSQLトレースファイル上に存在しない場合、存在しない旨のメッセージを表示し、SQLトレースの詳細画面を出力しません。


アクセスパス詳細表示

SQLトレース集計情報画面（SQL一覧）またはアクセスパス情報画面（SQL一覧）にて、メニュー[表示(V)]-[アクセスパス]を選択すると、現在選択されているSQLトレース集計またはアクセスパスに対応するアクセスパスの詳細が表示されます。

出力形式は、取得元ファイルにより異なります。アクセスパス情報ファイルとSQLトレースファイルのどちらにも情報がある場合は、アクセスパス情報ファイルを優先して表示します。

アクセスパス情報ファイルからアクセスパスデータを読み込んだときは、アクセスパスの詳細画面（ＧＵＩ形式）を表示します。但し、環境設定によりグラフィック上に中間結果を表示するを設定しており該当するデータが複数存在する場合は、中間結果情報選択画面で要素を選択する必要があります。

SQLトレースファイルからアクセスパスデータを読み込んだときは、アクセスパスの詳細画面（テキスト形式）を表示します。

また、対応するSQLトレースファイル上に、該当する中間結果情報があれば、中間結果情報画面も表示します。

該当するアクセスパスおよび中間結果情報がアクセスパス情報ファイルおよびSQLトレースファイル上に存在しない場合、存在しない旨のメッセージを表示し、アクセスパスの詳細画面および中間結果情報画面を出力しません。

＜この節の構成＞

アクセスパスの詳細画面（ＧＵＩ形式）

中間結果情報選択画面

アクセスパスの詳細画面（テキスト形式）

中間結果情報画面


アクセスパスの詳細画面（ＧＵＩ形式）

最初の画面は、[グラフィック]タブが選択された状態（図１参照）で表示されます。

（ａ）[グラフィック]タブが選択されている画面

（１） 画面構成

③

②

④

①

図１ アクセスパスの詳細画面（ＧＵＩ形式）[グラフィック]タブ選択時

①グラフィック領域

・アクセスパス手順をグラフィック形式で表示する領域です。・内容については、『（２）グラフィック構成』を参照してください。

・縦／横スクロールが可能です。

・アイコン（例：TABLE_SCANの絵）とマウスカーソルの組合せで、次のアクションが働きます。

１．カーソルを重ねると、カーソルが手のアイコン [image] に変化します。

２．カーソルを静止させると、ポップアップにて説明（例："TABLE SCAN"）が出ます。

３．クリックすると、③領域に詳細を出すか、グラフィックの表示を変化させます。

  （（２）グラフィック構成の「クリック時の動作」を参照）

４．スキャン方式のアイコンを右クリックすると、下記に示すメニューが表示されます。

表定義情報　　　　：表の定義情報を表示します。ディクショナリ表示機能を呼び出し、データディクショナリの詳細情報画面にて、表の構成列情報を表示します。

インデクス情報　　：使用インデクスの定義情報を表示します。ディクショナリ表示機能を呼び出し、データディクショナリの詳細情報画面にて、インデクスの構成列情報を表示します。インデクス名が表示されているスキャン方式のアイコンの場合に選択可となります。

②ＳＱＬ表示領域

  ・ＳＱＬを表示する領域です。

  ・予約語を青色、リテラルを赤色の斜体で表します。

  ・以下の単語（予約語）が出現したときに単語の前に改行します。

“select”,”update”,”insert”,”delete”,“from”, "where","with","union","except",

“group”,”order”,”having”,”left”

"and", "or”

    ・予約語の解析では、半角の英大文字と英小文字を区別しません。

  ・編集は不可です。

  ・コピー(Ctrl-C)は可能です。

  ・[警告一覧表示]/[警告一覧非表示]ボタン･･･[警告一覧表示]のときは④領域を表示し、ボタンが[警告一覧非表示]に替わります。[警告一覧非表示]のときは④領域を非表示とし、ボタンが[警告一覧表示] に替わります。

  ・[インデクス提案]ボタン･･･インデクス提案機能を実行し、別画面にて提案内容を表示します。

・ [ダイナミックブラウジング]ボタン･･･SQL及び最適化オプションを引数とし、ダイナミックブラウジング画面に遷移します。

③詳細情報表示領域

  ・①領域のアイコンを選択したときに詳細内容を表示する領域です。

  ・表形式で表現します。

  ・内容については、『（３）詳細情報出力項目』を参照してください。

  ・コピー(Ctrl-C)／検索は可能です。

  ・並べ替えは不可です。

④警告一覧領域

・チューニング対象となる問題を表示する領域です。

・リスト形式で表現します。

・リストの要素（行）をダブルクリックすると、①領域において選択された警告を示す個所を表示します。

但し、次のガイダンスは、特定のアイコンが存在しないので、「警告を示す個所」が選択状態となりません。

KFPX29709-I グループ化する前の件数がグループ化した後の件数に比べ、かなり大きい値です。

KFPX29710-I グループ化する前の件数とグループ化した後の件数が近似しています。

KFPX29993-I {info}転送方法が1TO1以外になっています。

・各要素にチェックボックスを持ちます。手作業にてチューニングするとき、確認（対策）済／未処理の判断として使用してください。

・各要素の項目は、警告内容（ガイダンスメッセージ）、対象種別[Query/Scan/Join]、ｵﾌﾞｼﾞｪｸﾄ(複数)[表/インデクス]を表示します。

・コピー(Ctrl-C)／並べ替えは可能です。

・検索は不可です。

    （２）グラフィック構成
グラフィック図は、下記に示すアイコンと矢印線で構成されます。

種別 | アイコン | 意味 | クリック時の動作
①スキャン方式 |  | TABLE SCAN | 詳細表示
 |  | [MULTI COLUMNS | PLUGIN]INDEX SCAN | 詳細表示
 |  | [MULTI COLUMNS | PLUGIN]KEY SCAN | 詳細表示
 |  | SELECT-APSL | 詳細表示
 |  | AND PLURAL INDEXES SCAN | 複数インデクスを結合する表現へ位置移動
 |  | OR PLURAL INDEXES SCAN | 複数インデクスを結合する表現へ位置移動
 |  | LIST SCAN | 詳細表示(注1)
 |  | ROWID FETCH | 詳細表示
 |  | FOREIGN SERVER SCAN | 詳細表示
 |  | FOREIGN SERVER LIMIT SCAN | 詳細表示
 |  | （不明） | 詳細表示
②ジョイン方式 |  | MERGE JOIN | 詳細表示
 |  | NESTED LOOPS JOIN | 詳細表示
 |  | HASH JOIN | 詳細表示
 |  | SELECT-APSL | 詳細表示
 |  | CROSS JOIN | 詳細表示
 |  | （不明） | 詳細表示
③その他 |  | 作業表 | 詳細表示
 |  | 問合せ結果 | 問合せ内容の表現へ位置移動
 |  | 集合演算：和集合(union)、論理演算：論理和(OR) | 詳細表示
 |  | 集合演算：差集合(except) | 詳細表示
 |  | 論理演算：論理積(AND) | 詳細表示
 |  | 論理演算：否定積(NAND) | 詳細表示
 |  | 警告情報があることを示します。 | 何もしない

（注1）集合演算処理情報（GroupBy,OrderBy,Having,Limit）を示すアイコンをクリックした場合は、何もしません。

各々の種別は、下記に示す形式で付随する情報を出力します。
注）スキャン方式、ジョイン方式の種類および、処理の流れにより出力されない項目があります。

①スキャン方式

全件数(*2)

インデクス名

サーチ条件ヒット件数(*2)：サーチ条件(*1)

キー条件ヒット件数(*2)：キー条件(*1)

スキャン方式

表名（相関名）

ロー条件(*1)

If-Then条件(*1)

抽出件数(*2)(*3)

②ジョイン方式

左表突合せ件数(*2)

右表突合せ件数(*2)

ジョイン方式

結合条件(*1)

抽出件数(*2)(*3)

③その他：作業表

集合演算ＩＤ

抽出・結合結果件数(*2)

③その他：問合せ結果

問合せＩＤ

問合せ結果件数(*2)

③その他：集合演算

集合演算名

③その他：論理演算

論理演算名

(*1)最大48文字まで出力し、48文字を超える文字は出力されません。

    すべて見たいときは、アイコンをクリックし③詳細情報表示領域を参照してください。

(*2)環境設定画面のグラフィックタブにて、｢中間結果情報：表示する｣を設定しておき、且つ該当するデータが存在するときにのみ表示されます。

(*3)スキャン方式アイコン、ジョイン方式アイコンに続いて、作業表アイコンが表示されない場合に抽出件数が表示されます。

    作業表アイコンが表示されない場合を下記に示します。

・OR PLURAL INDEXES SCAN の詳細を表現したとき

・次に続くジョインの左表または右表として参照するときに、作業表を用いずに参照されるとき

矢印線は、中間結果を表示したときに、線の太さを３段階で表します。

（表示しない場合は細線で表します。）

段階の決め方は、１つのＳＱＬの中での件数の最大値と最小値の範囲を等分した値を境界とします。

例）件数が　100,80,70,60,50,30,5,3,3,2,1,1

    →最大値100,最小値1なので、境界となる値が33,66

    30,5,3,3,2,1,1 ......細線（　　　　　　）

    60,50 ......中太線（　　　　　　）

    100,80,70 ......太線（　　　　　　）

    （３）詳細情報出力項目

①スキャン方式・スキャン結果（作業表）

＃ | 項目名
1 | 表名
2 | 検索方法
3 | 最適化情報取得の有無
4 | 表分割の種別
5 | ：ﾊｯｼｭ関数
6 | ：分割数
7 | ：ﾊﾞｯｸｴﾝﾄﾞｻｰﾊﾞ数
8 | ：検索種別
9 | ：RDｴﾘｱID
10 | ：ﾘﾊﾞﾗﾝｽ
11 | ｲﾝﾃﾞｸｽ名
12 | ｻｰﾁ条件
13 | ｷｰ条件
14 | ﾛｰ条件
15 | IF-THEN条件

②ジョイン方式・ジョイン結果（作業表）

＃ | 項目
1 | 結合処理ID
2 | 結合方法
3 | ：内部情報
4 | 左表情報（表名(相関名) 又は 表ID）
5 | 右表情報（表名(相関名) 又は 表ID）
6 | 結合条件
7 | ﾛｰ条件
8 | IF-THEN条件

③集合演算（作業表）

＃ | 項目
1 | 問合せ本体ＩＤ
2 | 拡張問合せ名
3 | 作業表情報
4 | 副問合せ実行方式
5 | ＳＱＬ最適化指定の有効無効
6 | 転送方法
7 | ORDER BY 処理方式
8 | フロータブルサーバ要求数
9 | 演算順序

③論理演算（作業表）

＃ | 項目
1 | 作業表作成順序

    （４）印刷される項目

グラフィック画面にて印刷／印刷プレビューを行なったときに出力される内容は、②ＳＱＬ表示領域に出力しているＳＱＬ、①グラフィック領域の図の順で出力されます。

（ｂ）[詳細]タブが選択されている画面

図２　アクセスパスの詳細画面（ＧＵＩ形式）[詳細]タブ選択時

外部サーバに対する問合せがある場合、リストボックスで自サーバの情報・外部サーバの情報とを切り替えることができます。

ガイダンスメッセージが存在する場合、説明が見たいガイダンスメッセージを選択しＦ１キーを押すことによって、該当するメッセージのヘルプを表示します。


中間結果情報選択画面

図　[中間結果情報選択]ダイアログ

l [中間結果情報]リスト

ＳＱＬをキーとして該当した、CNCT-NO、SEC-NO、START-TIMEをリスト形式で表示します。

要素をダブルクリックすると、[OK]ボタンの押下と同じ処理が働きます。

l [OK]ボタン

選択された情報をグラフィック作成時に使用し中間結果を表示します。

l [ｷｬﾝｾﾙ]ボタン

アクセスパス詳細画面は作成されますが、グラフィック上に中間結果を表示しません。


アクセスパスの詳細画面（テキスト形式）

図　アクセスパスの詳細画面（テキスト形式）


中間結果情報画面

図　中間結果情報画面


ＵＡＰ統計情報

SQLトレース集計情報画面にて、メニュー[表示(V)]-[UAP統計]を選択すると、現在選択されているSQLトレース集計に対応するUAP統計が表示されます。

図　UAP統計画面

ＵＡＰ統計画面の内容は以下のとおりです。

１列目：ＵＡＰ統計レポート情報として出力されている項目名

２列目：ＵＡＰ統計レポート情報として出力されている値

３列目：項目に対する日本語名称

４列目：項目に対する説明

  該当するUAP統計がSQLトレースファイル上に存在しない場合、存在しない旨のメッセージを表示し、UAP統計画面を出力しません。


列の選択

現在フォーカスがある子ウインドウにて表形式で表示されている列の選択および順序の設定をおこないます。ここでは、SQLトレース詳細画面を例として、使用します。

図 列の選択ダイアログ

l [ＯＫ]ボタン

設定内容を有効にします。

また、現在表示されている画面の列の幅情報を記憶します。

記憶された情報は、新しく開く同一種類の画面に対し、有効となります。

l [キャンセル]ボタン

設定内容を取り消し、列の選択ダイアログを中断します。

l [列の一覧(L):]リストエリア

表示可能な列を表示順に表します。

チェック状態の項目は列を表示します。非チェック状態の項目は列を表示しません。

l [上へ(U)]ボタン

現在フォーカスがある列の項目順序を１つ左にします。

l [下へ(D)]ボタン

現在フォーカスがある列の項目順序を１つ右にします。

l [表示(S)]ボタン

現在フォーカスがある列の項目を表示対象とします。

表示対象の列は、項目名の左にチェックがつきます。

l [非表示(H)]ボタン

現在フォーカスがある列の項目を非表示とします。

各画面において、非表示にできない項目が存在します。


印刷／印刷プレビュー

現在フォーカスがある画面の情報を印刷できます。

また、印刷プレビューを使用して印刷する情報の確認が行えます。

解析・検索結果において、全てのデータを印刷したい場合は、メニュー[解析結果を保存(A)]を選択し、ファイルに格納したのち、ファイルの内容を他のアプリケーションを使って印刷してください。

（１）プリンタの設定

[ﾌｧｲﾙ(F)]-[ﾌﾟﾘﾝﾀの設定(S)]を選択すると、プリンタ情報を設定するためのプリンタの設定ダイアログを表示します。以下の情報が設定できます。

・使用するプリンタの選択

・用紙のサイズ

・印刷の向き

・印刷部数

（注１）ご使用になられているプリンタドライバによっては、設定値が印刷時に正しく反映されない場合があります。

（注２）WindowsNT4.0では、プリンタの設定ダイアログでどのプリンタを選択して設定しても、印刷ダイアログを開くと「通常使うプリンタ」が選択されます。WindowsNT4.0以外ではプリンタの設定ダイアログで選択したプリンタが「通常使うプリンタ」に指定されます。

（注３）用紙のサイズを変更すると、システムのプリンタの設定値が変更されます。

（２）印刷プレビュー

[ﾌｧｲﾙ(F)]-[印刷ﾌﾟﾚﾋﾞｭｰ(V)]を選択して、現在フォーカスがある画面の印刷プレビューを表示します。

図 印刷プレビューダイアログ

印刷プレビューダイアログの説明をします。

l [次ページ(N)]ボタン

次のページを表示します。

l [前ページ(P)]ボタン

前のページを表示します。

l [印刷(T)]ボタン

プリンタに印刷するための印刷ダイアログを表示します。このとき、ページ範囲指定のデフォルトは、印刷プレビューに現在表示しているページだけを印刷するページ指定になります。

印刷が終了したときに「印刷完了」のダイアログが表示されます。

l [設定(S)]ボタン

プリンタの設定画面を表示します。以下の情報が設定できます。

・使用するプリンタの選択

・用紙のサイズ

・印刷の向き

l [閉じる(C)]ボタン

印刷プレビューを終了します。

（注１）ページ数が大量の印刷イメージ作成中、[ＥＳＣ]キーを押下することで印刷イメージ作成をキャンセルすることができます。

（注２）WindowsNT4.0では、プリンタの設定ダイアログでどのプリンタを選択して設定しても、印刷ダイアログを開くと「通常使うプリンタ」が選択されます。WindowsNT4.0以外ではプリンタの設定ダイアログで選択したプリンタが「通常使うプリンタ」に指定されます。

（注３）用紙のサイズを変更すると、システムのプリンタの設定値が変更されます。

（注４）アクセスパス情報のグラフィック表示は、印刷と印刷プレビューするときに倍率が反映されます。　用紙に収まらない場合は、複数のページに分割されます。複数ページへの分割は横・縦の順に行ないます。

（注５）印刷ダイアログで用紙のサイズを変更しても印刷結果に反映されません。用紙のサイズは[設定(S)]ボタンで表示されるプリンタの設定ダイアログで設定する必要があります。

（注６）画面に出力している文字の修飾（下線や色付け）には対応していません。

（３）印刷

[ﾌｧｲﾙ(F)]-[印刷(P)]を選択すると、プリンタに印刷するための印刷ダイアログを表示します。

印刷が終了したときに「印刷完了」のダイアログが表示されます。

印刷、または印刷プレビューを表示できるのは次のデータです。

（注１）ご使用になられているプリンタドライバによっては、正しく印刷されない場合があります。

（注２）アクセスパス情報のグラフィック表示は、印刷するときに倍率が反映されます。　用紙に収まらない場合は、複数のページに分割されます。複数ページへの分割は横・縦の順に行ないます。

（注３）印刷ダイアログで用紙のサイズを変更しても印刷結果に反映されません。用紙のサイズは[ﾌｧｲﾙ(F)]-[ﾌﾟﾘﾝﾀの設定(S)]で表示されるプリンタの設定ダイアログで設定する必要があります。

（注４）画面に出力している文字の修飾（下線や色付け）には対応していません。


検索機能

現在フォーカスがある子ウインドウ画面にて、情報の検索をおこないます。

図 検索ダイアログ

l 検索する文字列(F):

検索したい文字列を入力します。

(最大256バイト)

l 単語単位で探す(W)

チェックされたとき、完全一致する単語を対象とします。

次の画面、またはコントロールを検索対象とするときは、選択できません。

・解析・検索結果の表示画面

・ＳＱＬオブジェクト情報表示画面

・アクセスパス詳細（ＧＵＩ）画面上の表コントロール

l 完全に同一なセルだけを検索する(O)

チェックされたとき、完全一致するセルを対象とします。

次の画面、またはコントロールを検索対象とするときに、選択できます。

・解析・検索結果の表示画面

・ＳＱＬオブジェクト情報表示画面

・アクセスパス詳細（ＧＵＩ）画面上の表コントロール

l 大文字と小文字を区別する(C)

チェックされたとき、入力された情報（検索する文字列）の

大文字と小文字の区別を行います。全角英字は本操作に関わらず、大文字と小文字が区別されます。

l [解析結果に対して検索(A)]チェックボックス

チェックされたとき、解析・検索結果の全体から検索を行ないます。

本バージョンでは、サポートしません。

l [次を検索]ボタン

現在のカーソル位置から、後方に（表形式画面の場合は縦方向優先で）検索を開始します。

対象文字列が存在すると、該当する位置にカーソルを移動します。

最後まで検索し対象文字列が見つからない場合は、対象データが存在しない旨のメッセージを表示します。

l [ｷｬﾝｾﾙ]ボタン

検索ダイアログを中断します。

  注意事項：

・ディクショナリ表示機能のツリー画面では、検索が行えません。

・アクセスパス詳細画面（GUI形式）では、４種類の表示領域（SQL詳細、問合せ情報、結合処理情報、実表検索処理情報）のなかで、検索ダイアログを呼び出す際にフォーカスが存在する一つの表示領域が検索対象となります。アクセスパス詳細画面（GUI形式）の全体を対象とする検索は行えません。


接続情報設定機能

接続情報（ホスト名、ポート番号、認可識別子、パスワード、文字コード種別）をいちいち入力しなくてもすむように、名称をつけて管理することができます。接続が必要な時には接続情報名を指定するだけですみます。

接続情報は接続情報設定ファイルにINIファイル形式で記録されています。接続情報設定ファイルの内容は接続情報設定ダイアログで編集できます。

＜この節の構成＞

接続情報設定ダイアログ

Hostsファイル参照ダイアログ


接続情報設定ダイアログ

リストボックスから接続情報名を選択すると、ＰＤＨＯＳＴ，ＰＤＮＡＭＥＰＯＲＴと認可識別子、パスワード、文字コード種別が接続情報設定ファイルから読み込まれます。必ず「起動時の値」という接続情報名があり、これを選択すると本ユティリティを起動した時の環境変数ＰＤＨＯＳＴ，ＰＤＮＡＭＥＰＯＲＴ，ＰＤＵＳＥＲ（スラッシュまでを認可識別子、スラッシュ以降をパスワードと解析して）の値がフィールドに読み込まれます。

図 接続情報設定ダイアログ

l [接続情報名(I):]テキストエリア

任意のユニークな名称を指定します。使用できる文字は半角英数字、半角カナ、全角文字及び記号（_-.@#$%&）です（最大127ﾊﾞｲﾄ）。「起動時の値」はシステム既定値なので追加・更新・削除はできません。全ての接続情報名の長さの合計が4096バイトを超えると、越えた部分は表示されません。

l [PDHOST(H):]テキストエリア

環境変数PDHOSTを設定します。入力が可能な長さは128文字です。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

直接キー入力できますが、[参照] ボタンを押して、Ｈｏｓｔｓファイル参照ダイアログを利用して入力することもできます。

l [PDNAMEPORT(N):]テキストエリア

環境変数PDNAMEPORTを設定します。入力が可能な長さは5文字です。

詳細は、マニュアル「HiRDB UAP開発ガイド」を参照願います。

l [参照(B)...]ボタン

Ｈｏｓｔｓファイル参照ダイアログを開きます。

l [認可識別子(U):]テキストエリア

ＨｉＲＤＢの接続ユーザ名を指定します。最大入力長は、３０文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [パスワード(P):]テキストエリア

ＨｉＲＤＢの接続パスワードを指定します。最大入力長は、３２文字です。

全体を引用符（”）で囲んだ場合は、英大文字と英小文字が区別されます。

引用符で囲まない場合は、すべて英大文字として扱われます。

l [文字コード種別(C):]リストボックス

HiRDBサーバの文字コード種別を設定します。

選択できる値は次のとおりです。

SJIS ：HiRDBサーバの文字コード種別がシフトJISコードとして機能を実行します。

UTF-8 ：HiRDBサーバの文字コード種別がUnicode(UTF-8)として機能を実行します。

EUC : HiRDBサーバの文字コード種別がEUC日本語漢字コードで行います。

初期値は、SJISです。

l [追加(E)]ボタン

入力された接続情報を、「接続情報の管理」リストに追加します。

l [更新(A)]ボタン

「接続情報の管理」にて選択されている接続情報名を、入力された内容に書き換えます。

l [削除(D)]ボタン

「接続情報の管理」にて選択されている接続情報名を削除します。

l [接続情報の管理(L):] リストボックス

登録されている接続情報の一覧を表示します。クリックすると選択された接続情報名の内容が左側領域に反映されます。

l [OK]ボタン

「接続情報の管理」リストの内容で接続情報設定ファイルを更新して、ダイアログを閉じます。

l [ｷｬﾝｾﾙ]ボタン

設定内容を無効にしてダイアログを閉じます。


Hostsファイル参照ダイアログ

リストフィールドにhostsファイルの内容を読み込んで表示します。

選択した行のホスト名を「接続情報設定ダイアログ」へ戻します。エイリアスは使えません

Hostsファイルの中のコメント行や空白行を表示しません。

図　Hostsファイル参照ダイアログ

l ［選択］ボタン

選択している行のホスト名を、呼び出し元ダイアログに返します。

ダイアログを閉じます。

リストフィールドで選択行をダブルクリックすると、［選択］ボタンを押したときと同じ動作をします。

l ［キャンセル］ボタン

選択を取り消して、ダイアログを閉じます。呼び出し元ダイアログは影響を受けません。


指定行への移動

現在フォーカスがある子ウインドウ画面にて、カーソル位置の移動を行います。

指定できる行は、ウインドウ内の行番号です。

図 指定行への移動ダイアログ

l [行番号:]テキストエリア

移動先の行番号を入力します。0～2147483647の値を入力してください。

l [移動]ボタン

現在のカーソル位置から、指定された行番号の位置にカーソルを移動します。

最大行数より大きい行番号などの、該当しない行番号を指定された場合は、

入力値が不正である旨のメッセージを表示します。

l [ｷｬﾝｾﾙ]ボタン

指定行への移動ダイアログを中断します。


ウインドウ管理機能

新しく情報を持つ画面を作成すると、図に示す管理画面にノードとして登録されます。

（管理画面自身は登録されません）

図　ウインドウ管理画面

本ノードの親子関係は、画面の生成された関係を示します。

ノードを選択すると、当該画面を前面表示とします。

親子関係で親となる画面が、閉じられたときは、子に当たる画面も閉じられます。

本ウインドウを閉じてしまった、もしくは背面表示にあるときに表示したい場合は、メニュー[表示(D)][ウインドウ管理(W)]を選択することにより、前面に表示されます。


行の並べ替え

並べ替えキーとしたい項目名の部分をクリックすると、当該列を昇順または降順に並び替えた表示となります。

また並べ替え指定されている項目名の部分に、並べ替えされている旨のマークを示します。

並べ替えキーは１つの項目のみ有効となり、その他の項目は順序不定となります。（前回選択した、並べ替え情報は無効となります。）

以下に例を示します。

①通常状態：

        ↓項目名「合計実行時間」欄をクリック

②昇順ソート状態：

        ↓項目名「合計実行時間」欄をクリック

③降順ソート状態：

                    注）前の状態が昇順であれば、別の項目名を選択した場合でも降順になります。

        ↓項目名「合計実行時間」欄をクリック

      ②昇順ソート状態　となります。

注意事項：

前の状態が降順であれば、別の項目名を選択した場合でも昇順になります。

並べ替え操作が可能な画面は表画面、リモート参照ダイアログとSQLオブジェクト情報表示画面のみです。


行に対するマーキング

メニュー[編集(E)][マーク(M)]の各操作を行なうと、行に対するマーキングやマーキングを行なった行の絞込みがおこなえます。

各々の操作例を示します。

☆操作[付ける(C) Ctrl+F1]....

現在選択している範囲の行にマークを付けます。

①通常状態：

↓セル５行２列から１１行３列を選択し、操作

②操作後状態：

☆操作[外す(E) Ctrl+F2]....

現在選択している範囲の行にあるマークを外します。

↓②状態よりセル６行１列から８行１列を選択し、操作

③操作後状態：

☆操作[上へ移動(P) Ctrl+F11]....

現在セルカーソルがあるセルの行から上方向に存在するマークを検索し、マークがある行にセルカーソルを移します。

↓③状態よりカーソルをセル８行１列に移し、操作

④操作後状態：

☆操作[下へ移動(N) Ctrl+F12]....

現在セルカーソルがあるセルの行から下方向に存在するマークを検索し、マークがある行にセルカーソルを移します。

↓④状態より、操作

⑤操作後状態：

☆操作[絞込み表示(D) Ctrl+F5]

絞込み表示状態である場合、メニューが[絞込み解除(D) Ctrl+F5]となります。[絞込み表示(D)Ctrl+F5]を選択すると、マークが付いている行だけを表示します。

↓③状態より、操作

⑤操作後状態：

注意事項：

・絞込み表示状態は[保存(A)]、[印刷プレビュー(V)]、[印刷(P)]の操作による出力に反映されません。

・ページの移動、データの並べ替えを行なうと、マークした情報が無効となります。


表示項目詳細

＜この章の構成＞

SQLトレース表示項目

アクセスパス表示項目

SQLオブジェクト表示項目

結合方式と検索方式の種類

ガイダンス一覧


ＳＱＬトレース表示項目

SQLトレース表示項目

  SQLトレース解析結果およびSQLトレース詳細として表示される項目について説明します。

（１）SQLトレース集計情報画面（UAP単位）

表1. SQLトレース集計情報画面（UAP単位）で表示する項目

NO. | 項目名 | 説明
1 | PROGRAM FILE NAME |
2 | USERID |
3 | START TIME | 列の選択画面にて、非表示にできない項目です。
4 | LANG |
5 | USER |
6 | HOST |
7 | NAMEPORT |
8 | FESHOST |
9 | SVCGRP |
10 | SVCPORT |
11 | SRVTYPE |
12 | SWAIT |
13 | CWAIT |
14 | SWATCH |
15 | BLKF |
16 | RDABLKF |
17 | LCKLMT |
18 | ISLLVL |
19 | DBLOG |
20 | DFLNVAL |
21 | AGGR |
22 | DLKPRIO |
23 | EXWARN |
24 | VWOPTMODE |
25 | LOCKSKIP |
26 | CLTGRP |
27 | DSQLOBJCACHE |
28 | PLGIXMK |
29 | CLTRCVPORT |
30 | CLTRCVADDR |
31 | PLGPFSZ |
32 | PLGPFSZEXP |
33 | SPACELVL |
34 | STJTRNOUT |
35 | OPTLVL |
36 | ADDITIONALOPTLVL |
37 | UAPREPLVL |
38 | REPPATH |
39 | TRCPATH |
40 | IPC |
41 | SENDMEMSIZE |
42 | RECVMEMSIZE |
43 | HASHTBLSIZE |
44 | CMMTBFDDL |
45 | PRPCRCLS |
46 | DBACCS |
47 | SQLTRCOPENMODE |
48 | AUTOCONNECT |
49 | CWAITTIMEWRNPNT |
50 | TCPCONOPT |
51 | WRTLNFILSZ |
52 | WRTLNCOMSZ |
53 | WRTLNPATH |
54 | UAPENVFILE |
55 | TP1SERVICE |
56 | AUTORECONNECT |
57 | RCCOUNT |
58 | RCINTERVAL |
59 | KALVL |
60 | KATIME |
61 | CLTCNVMODE |
62 | PRMTRC |
63 | PRMTRCSIZE |
64 | BESCONHOLD |
65 | BESCONHTI |
66 | BLKBUFFSIZE |
67 | BINARYBLKF |
68 | FORUPDATEEXLOCK |
69 | DBORGUAP |
70 | CNSTRNTNAME |
71 | SQLTEXTSIZE |
72 | RCTRACE |
73 | FESGRP |
74 | DDLDEAPRP |
75 | NBLOCKWAITTIME |
76 | CONNECTWAITTIME |
77 | UAPEXERLOGUSE |
78 | UAPEXERLOGPRMSZ |
79 | DBBUFLRU |
80 | DELRSVWDFILE |
81 | ODBLOCATOR |
82 | ODBSPLITSIZE |
83 | ODBCWRNSKIP |
84 | XATRCFILEMODE |
85 | HATRNQUEUING |
86 | HJHASHINGMODE |
87 | NODELAYACK |
88 | CURSORLVL |
89 | TAAPINFPATH |
90 | TAAPINFMODE |
91 | TAAPINFSIZE |
92 | JETCOMPATIBLE |
93 | SUBSTRLEN |
94 | BLKFUPD |
95 | ARYERRPOS |
96 | CALCMDWAITTIME |
97 | BLKFERRBREAK |
98 | XAAUTORECONNECT |
99 | CLTBINDLOOPBACKADDR |
100 | STANDARDSQLSTATE |
101 | LCKWAITTIME |
102 | DDLDEAPRPEXE |
103 | ODBGINFOSUPPRESS |
104 | ODBSTANDARDARGSIZE |
105 | ODBSTANDARDSQLSTATE |
106 | ODBSTANDARDDESCCOL |
107 | TMPTBLRDAREA |
108 | EXTDECCHECK |
109 | DNDPCOMPATIBLE |
110 | RCTIMING |
111 | ODBSTANDARDGTYPEINFO |
112 | HSICOPTIONS |
113 | DEFAULTOPTION |
114 | TCPREDUCETIMEWAITPORT |
115 | TCPREDUCECONCLOSERCVTIME |
116 | ENVGROUP |
117 | HIRDBINIPATH |
101 | CURHOST |
102 | CURPORT |
103 | SVRNAME |
104 | CNCTNO |
105 | SVRPID |
106 | CLTPID |
107 | CLTTID |
108 | CLTCNCTHDL |

網掛けは、初期値として非表示設定とする。

各詳細の意味については、マニュアル「HiRDBUAP開発ガイド」SQLトレース機能を参照して下さい。

使用しているHiRDBクライアントのバージョンによっては、ＳＱＬトレースファイルに出力されていない項目があります。ＳＱＬトレースファイルに出力されていない項目の値は、空白表示となります。

（２）SQLトレース集計情報画面（コネクション単位）

タイトルの構成：UAP名 “:” HOST “:” NAMEPORT “:” 開始日時

表2. SQLトレース集計情報画面（コネクション単位）で表示する項目

NO. | 項目名 | 説明
1 | FROM | コネクションの実行開始時刻（オペレーションコードCNCTの開始時刻）。 列の選択画面にて、非表示にできない項目です。
2 | TO | コネクションの実行終了時刻（オペレーションコードDISCの終了時刻）
3 | (CONNCET-NO) | コネクション通番
4 | CLT-PID | UAPのプロセス番号
5 | CLT-TID | UAPのスレッド番号
6 | (SEC-NO) | SQLの対応を確認するための番号[有効でない]
7 | SQL発行数 | FROMからTOまでの間に、同一の「UAPのプロセス番号」「コネクション通番」で実行されたオペレーションコードの数
8 | 合計実行時間 | コネクションの実行所要時間（各オペレーション処理時間の合計）
9 | 最大実行時間 | 各オペレーションのうち処理時間が最大の時間
10 | 最小実行時間 | 各オペレーションのうち処理時間が最小の時間
11 | 経過時間 | FROMからTOまでの所要時間

網掛けは、初期値として非表示設定とする。

（３）SQLトレース集計情報画面（トランザクション単位）

タイトルの構成：UAP名 “:” HOST “:” NAMEPORT “:” 開始日時 “:CNCT-NO=” CONNECT-NO

表3. SQLトレース集計情報画面（トランザクション単位）で表示する項目

NO. | 項目名 | 説明
1 | TRN-NO | トランザクション通番
2 | FROM | トランザクションの実行開始時刻（同一接続にてオペレーションコードCMIT,ROLLの次に現れるオペレーションコードSET,AUXI,AUI2,OPN2の開始時刻）。 列の選択画面にて、非表示にできない項目です。
3 | TO | トランザクションの実行終了時刻（オペレーションコードCMIT,ROLL,DISCの終了時刻）
4 | (CONNCET-NO) | コネクション通番
5 | CLT-PID | UAPのプロセス番号
6 | CLT-TID | UAPのスレッド番号
7 | (SEC-NO) | SQLの対応を確認するための番号[有効でない]
8 | SQL発行数 | FROMからTOまでの間に、同一の「UAPのプロセス番号」「コネクション通番」で実行されたオペレーションコードの数
9 | 合計実行時間 | トランザクションの実行所要時間（各オペレーション処理時間の合計）
10 | 最大実行時間 | 各オペレーションのうち処理時間が最大の時間
11 | 最小実行時間 | 各オペレーションのうち処理時間が最小の時間
12 | 経過時間 | FROMからTOまでの所要時間

網掛けは、初期値として非表示設定とする。

（４）SQLトレース集計情報画面（SQL単位）

HiRDBでは１つのSQLを実行するのに複数のオペレーションを発行します。

本画面では、SQLトレースファイルに出力された複数のオペレーション情報を元にSQL情報を一覧出力します。

SQLトレースファイルに出力されたSQL文を発行する行（オペレーションコードがSET,AUXI,AUI2,OPN2のいずれかの行）から次のSQL文を発行する行の直前まで、またはSQL文を発行する行からトランザクション終了行（オペレーションコードCMIT,ROLL,DISCのいずれかの行）の直前まで、において項目CNCT-NO、CLPID、CLTID、SEC-NOが同じ値である行を１つのSQL情報として集計します。

途中に項目CNCT-NO、CLPID、CLTID、SEC-NOが異なる値の行があれば、別のSQL情報として集計します。

集計する対象のイメージを図に示します。

図．ＳＱＬトレース集計情報の集計対象イメージ

タイトルの構成：UAP名 “:” HOST “:” PORTNAME “:” 開始日時 “:CNCT-NO=” CONNECT-NO “:TRN-NO=” TRN-NO

表4. SQLトレース集計情報画面（SQL単位）で表示する項目

NO. | 項目名 | 説明
1 | SQL-NO | SQL通番
2 | FROM | SQLの実行開始時刻。 列の選択画面にて、非表示にできない項目です。
3 | TO | SQLの実行終了時刻
4 | (CONNECT-NO) | コネクション通番
5 | CLT-PID | UAPのプロセス番号
6 | CLT-TID | UAPのスレッド番号
7 | (SEC-NO) | SQLの対応を確認するための番号
8 | SQL発行数 | 集計対象としたオペレーションコードの数
9 | 合計実行時間 | SQLの実行所要時間。各オペレーションにおいて（終了時刻－開始時刻）を計算し、合計した値（秒単位。小数３桁までを表示）。
10 | 最大実行時間 | 各オペレーションにおいて（終了時刻－開始時刻）を計算し、そのうちの最大の値（秒単位。小数３桁までを表示）。
11 | 最小実行時間 | 各オペレーションにおいて（終了時刻－開始時刻）を計算し、そのうちの最小の値（秒単位。小数３桁までを表示）。
12 | SQL実行時間 | オペレーションSET,AUXI,AUI2,OPN2において（終了時刻－開始時刻）を計算した値（秒単位。小数３桁までを表示）。 本項目ではSQL文の前処理に時間が掛かっているかを確認することができます。
13 | 経過時間 | FROMからTOまでの所要時間（秒単位。小数３桁までを表示）。
14 | SQL EXEC-TIME | UAP統計レポートのSQL単位の情報として出力されている「SQL EXEC-TIME」を合計した値（秒単位。小数６桁までを表示）。情報が出力されていないときは空欄とします。
15 | SVR EXEC-TIME | UAP統計レポートのSQL単位の情報として出力されている「SVR EXEC-TIME」を合計した値（秒単位。小数６桁までを表示）。情報が出力されていないときは空欄とします。
16 | DIFF | UAP統計レポートのSQL単位の情報として出力されている「DIFF」を合計した値（マイクロ秒単位）。情報が出力されていないときは空欄とします。
17 | EXEC COUNT | UAP統計レポートのSQL単位の情報として出力されている「EXEC COUNT」を合計した値。情報が出力されていないときは空欄とします。
18 | SQLカウンタ(#1) | 発行したSQL文に対応する、SQL文を受け付けるごとに順次カウントされる番号
19 | SQL(#2) | 発行したSQL文

#1：網掛けは、初期値として非表示設定とする。

#2：SQL文中に改行やタブなどの制御コードが存在する場合、正しく表示されません。また表示されるSQL文長は、HiRDB SQL Tuning Advisor環境設定ファイル（PDEnv.txt）で設定されたサイズになります。SQLSIZEの項目に4096～2000000の値を設定してください。デフォルトは30000です。

（５）SQLトレース詳細画面

表5. SQLトレース詳細画面で表示する項目

NO. | 項目名 | 説明
1 | CNCT-NO | コネクション通番
2 | NO | ＳＱＬ文を受け付けるごとに順次カウントします。（１から９９９９９９） 列の選択画面にて、非表示にできない項目です。
3 | OP-CODE | ＳＱＬに対応するオペレーションコード
4 | SEC-NO | ＳＱＬの対応を確認するための番号
5 | SQL-CODE | ＳＱＬ文を実行した結果、発生したSQLコード
6 | WARN | 警告情報の１６進表記
7 | START-TIME | ＳＱＬの実行要求が受け付けられた時刻
8 | END-TIME | ＳＱＬの実行要求が終了した時刻
9 | 実行時間 | ＳＱＬの要求受付時刻から要求終了時刻までの時間(実行時間) SQLトレースファイルにEXEC-TIMEの項目が出力されていた場合は、EXEC-TIME値を表示します。EXEC-TIMEの項目が出力されていない場合は、END-TIMEとSTART-TIMEの差分を表示します。
10 | ＵＡＰ時間 | ＳＱＬの要求終了時刻から次の要求受付時刻までの時間(ＵＡＰ実行時間)
11 | OPTION | ＨｉＲＤＢの保守情報
12 | TRACE OUTPUT TIME(#2) | SQLトレース出力処理時間
13 | PREPROCESS FILE(#2) | プリプロセスファイル名
14 | PREPROCESS TIME(#2) | プリプロセス時間
15 | ROOT AP(#2) | ルートAP情報
16 | SQL EXEC-TIME(#3) | SQL実行時間
17 | SVR EXEC-TIME(#3) | サーバ側でのSQL実行時間
18 | DIFF(#3) | SQL EXEC-TIMEとSVR EXEC-TIMEの差分。通信処理にかかる時間の目安。
19 | EXEC COUNT(#3) | 処理行数
20 | CREATE COUNT(#3) | 作業表作成行数
21 | DELETE COUNT(#3) | 作業表削除行数
22 | SQLOBJ SIZE(#3) | SQLオブジェクトサイズ(単位：バイト)
23 | HJCMP COUNT(#3) | ハッシュジョイン、副問合せのハッシュ実行でのハッシュ表探索時の総比較回数。
24 | HJSCH COUNT(#3) | ハッシュジョイン、副問合せのハッシュ実行での総ハッシュ表探索回数。
12 | SQL(#1) | オペレーションコードが、ＳＥＴ、ＡＵＸＩ 、ＡＵＩ２または、ＯＰＮ２の場合、ＳＱＬ文を表示。

各詳細の意味については、マニュアル「HiRDBUAP開発ガイド」SQLトレース機能を参照して下さい。

#1：SQL文中に改行やタブなどの制御コードが存在する場合、正しく表示されません。また表示されるSQL文長は、HiRDB SQL Tuning Advisor環境設定ファイル（PDEnv.txt）で設定されたサイズになります。SQLSIZEの項目に4096～2000000の値を設定してください。デフォルトは30000です。

#2：初期値として非表示設定の項目です。

#3：UAP統計レポートのSQL単位の情報として出力されている項目です。情報が出力されていないときは空欄とします。


アクセスパス表示項目

  SQLトレース解析結果およびSQLトレース詳細として表示される項目について説明します。

（１） アクセスパス情報画面（UAP一覧）

表1. アクセスパス情報画面（UAP一覧）で表示する項目

# | 項目名 | 説明
1 | Profile | 他ﾏｼﾝから取得した情報の場合、プロファイル名を表現します。 自ﾏｼﾝから取得した情報のﾌﾟﾛﾌｧｲﾙ名は、’LocalHost’（固定）です。 ﾀﾞｲﾅﾐｯｸﾌﾞﾗｳｼﾞﾝｸﾞ機能を用いて取得した情報のﾌﾟﾛﾌｧｲﾙ名は、実行時環境変数 PDHOST・PDNAMEPORT及びPDUSERをティルド記号(~)で結合した文字列です。
2 | UAP名 | 他ﾏｼﾝまたは自ﾏｼﾝから取得した情報の場合、実行したUAP名もしくは、環境変数PDCLTAPNAMEで指定した名称を表現します。 ﾀﾞｲﾅﾐｯｸﾌﾞﾗｳｼﾞﾝｸﾞ機能を用いて取得した情報の場合、実行時環境変数PDCLTAPNAMEと実行通番をティルド記号(~)で結合した文字列を表示します。
3 | UAPｿｰｽ名 | ＵＡＰ中で最初にＳＱＬを発行したＵＡＰソース名です。
4 | 認可識別子 | UAPを実行した認可識別子
5 | HiRDBﾊﾞｰｼﾞｮﾝ | HiRDBのバージョン（サーババージョン07-01以降では、事故対策情報も含みます）
6 | ﾊﾞｯｸｴﾝﾄﾞｻｰﾊﾞ数 | バックエンドサーバの数を表示します。(06-00以降のParallel Serverを利用したときのみ)
7 | UAP最適化開始日時 | SQL最適化を実行した日時（複数のSQLを実行した場合は最初のSQL最適化実行日時）を表示します。 列の選択画面にて、非表示にできない項目です。
8 | ｶﾞｲﾀﾞﾝｽ数 | ＵＡＰ中の各ＳＱＬにおける、ｶﾞｲﾀﾞﾝｽの数の合計

各詳細の意味については、マニュアル「HiRDBコマンドリファレンス」アクセスパス表示ユティリティの出力形式を参照して下さい。

（２）アクセスパス情報画面（SQL一覧）

タイトルの構成：プロファイル “:” UAP名“:” UAP最適化開始日時

表2. アクセスパス情報画面（SQL一覧）で表示する項目

# | 項目名 | 説明
1 | ｾｸｼｮﾝID | セクションID（SQLごと付与する番号）を表示します。
2 | SQL最適化実行日時 | SQL最適化処理をした日時（複数のSQLを実行した場合は最初のSQL最適化実行日時）を表示します。 列の選択画面にて、非表示にできない項目です。
3 | SQL最適化ｵﾌﾟｼｮﾝ値 | SQLコンパイル時のSQL最適化オプションの値を表示します。
4 | ﾌﾛｰﾀﾌﾞﾙｻｰﾊﾞ要求数 | フロータブルサーバの要求数を表示します。 (Parallel Server利用時のみ有効な値です。)
5 | ｶﾞｲﾀﾞﾝｽ数 | SQLに対するｶﾞｲﾀﾞﾝｽの数を表示します。
6 | SQL文 | 処理したSQL文を表示します。

各詳細の意味については、マニュアル「HiRDBコマンドリファレンス」アクセスパス表示ユティリティの出力形式を参照して下さい。

（３）アクセスパス詳細画面

アクセスパス詳細画面の表示項目は以下のとおりです。

①ｱｸｾｽﾊﾟｽ（SQL詳細）

# | 項目名 | 説明
1 | UAP名 |
2 | UAPｿｰｽ名 | サーババージョン07-01以降では、ＳＱＬを発行したＵＡＰソース名です。07-00以前は、ＵＡＰ中で最初にＳＱＬを発行したＵＡＰソース名です。
3 | 認可識別子 |
4 | HiRDBﾊﾞｰｼﾞｮﾝ | HiRDBのバージョン（サーババージョン07-01以降では、事故対策情報も含みます）
5 | ﾊﾞｯｸｴﾝﾄﾞｻｰﾊﾞ数 |
6 | ｾｸｼｮﾝID |
7 | SQL最適化実行日時 |
8 | SQL最適化ﾓｰﾄﾞ |
9 | SQL最適化ｵﾌﾟｼｮﾝ値 | SQLコンパイル時のSQL最適化オプションの値を表示します。 また、詳細情報として以下の情報を表示します。 ・ 機能名：SQL最適化ｵﾌﾟｼｮﾝ値を構成する機能名称を表示します。
10 | SQL拡張最適化ｵﾌﾟｼｮﾝ値 | SQLコンパイル時のSQL拡張最適化オプションの値を表示します。 また、詳細情報として以下の情報を表示します。 ・ 機能名：SQL拡張最適化ｵﾌﾟｼｮﾝ値を構成する機能名称を表示します。
11 | ﾌﾛｰﾀﾌﾞﾙｻｰﾊﾞ要求数 | ﾌﾛｰﾀﾌﾞﾙｻｰﾊﾞ要求数を表示します。
12 | SQL文 | SQL文を表示します。
13 | 作業表作成の契機数 | 作業表作成の契機の数を表示します。
14 | ﾄｰﾀﾙｺｽﾄ | トータルコストを表示します。
15 | SELECT-APSL候補番号 | Single Server利用でアクセスパスがSELECT-APSLの場合、アクセスパスの第１候補もしくは、第２候補を表示します。 また、詳細情報として以下の情報を表示します。 ・ 表名 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列の表名を表示します。詳細情報として、以下の内容を表示します。 ・ 相関名 ： 相関名を表示します。 ・ 表ID ： 表IDを表示します。 ・ 列ID ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列を表示します。 ・ 述語 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる条件の述語を表示します。 ・ しきい値となるﾋｯﾄ率 ： SQLオブジェクトを選択するための基準値となるヒット率を表示します。
16 | ルーチン識別子 | ルーチン中のSQLの場合ルーチン名を表示します。
17 | トリガ | 実行するトリガの詳細情報を表示します。 ・ トリガ名 ： HiRDBが実行するトリガの名称を表示します。 ・ トリガ手続き名 ： トリガ動作手続きの名称を表示します。 ・ トリガ動作時期 ： トリガ動作時期の種別を表示します。 ・ トリガ動作単位 ： トリガ動作の単位の種別を表示します。
18 | 拡張問合せ情報 | 詳細情報として、以下の内容を表示します。 ・ 問合せ本体ＩＤ：問合せ本体ＩＤを表示します。 ・ 拡張問合せ名：拡張問合せ名を表示します。 ・ 作業表情報：作業表情報を表示します。 ・ 副問合せ実行方式：副問合せの実行方式を表示します。 ・ SQL最適化指定の有効無効：副問合せの実行方式に対するＳＱＬ最適化指定の状態を表示します。 ・ 転送方法：上位の問合せに転送するときの転送方法を表示します。 ・ フロータブルサーバ要求数：フロータブルサーバの要求数を表示します(Parallel Server利用時のみ)。 ・ 演算順序：集合演算の演算順序を表示します。 ・ ORDER BY 処理方式：ORDER BYの処理方式を表示します。
19 | ｶﾞｲﾀﾞﾝｽ | 付録Ｂガイダンス一覧の事象に記載している内容と一致したとき、該当する件数を表示します。詳細情報として、指摘箇所と概要を「指摘箇所：概要」の形式で表示します。指摘箇所は、問合せ指定ＩＤ／種類・結合処理ＩＤ・実表検索表名／相関名・インデクス名をピリオド(.)によって組合せ表現します。
20 | 外部サーバ検索処理(予測)情報 | リストボックスで、外部サーバの情報を選択した時のみ表示されます。 外部サーバ検索処理(予測)の詳細情報として以下の内容を表示します。 ・ 外部サーバアクセス番号 : 外部表へのアクセスを含む問合せのアクセス番号を表示します。 ・ 表名 ： 外部サーバから検索した結果に対して、内部的に作成する表名を表示します。 ・ 外部サーバ名 ： 外部サーバ名を表示します。 ・ バックエンドサーバ名 ： 外部サーバにアクセスするために割り当てられるバックエンドサーバ名を表示します。 ・ 外部サーバ種別 ： 外部のDBMSのサーバ種別を表示します。 ・ 外部サーババージョン ： 外部のDBMSのサーババージョンを表示します。 ・ SQL文 ： 外部サーバに対して発行するSQLを表示します。 ・ 表識別子の対応関係： 外部サーバに発行するSQLと自サーバに発行したSQLとの表識別子の対応関係を表示します。 ・ 変数の対応関係： 外部サーバに対して発行するSQLと自サーバに対して発行したSQLとの変数の対応関係を表示します。 ・ 外部サーバ検索コスト ： 外部サーバ内処理コストの予測値を表示します。 ・ 外部サーバから自HiRDBへの転送コスト ： 外部サーバから自サーバへの通信コストの予測値を表示します。
21 | 外部サーバ問合せ情報 | リストボックスで選択された外部サーバに、集合演算処理情報がある場合、表示されます。 詳細情報として、以下の内容を表示します。 ・ 問合せ本体ＩＤ：問合せ本体ＩＤを表示します。 ・ 外部サーバ問合せ名： 問合せ名を表示します。 ・ 副問合せ実行方式：副問合せの実行方式を表示します。 ・ SQL最適化指定の有効無効：副問合せの実行方式に対するＳＱＬ最適化指定の状態を表示します。 ・ 転送方法：上位の問合せに転送するときの転送方法を表示します。 ・ 作業表情報 ： 作業表情報を表示します。 ・ ORDER BY 処理方式 ： ORDER BY の処理方式を表示します。 ・ 集合演算用のフロータブルサーバ要求数 ： フロータブルサーバの要求数を表示します。 ・ 演算順序 ： 集合演算の演算順序を表示します。

②問合せ情報

# | 項目名 | 説明
1 | 問合せ指定ID | 問合せIDを表示します。
2 | 問合せ種類 | 問合せの種類を表示します。
3 | 作業表情報 | 作業表情報を表示します。
4 | 副問合せ実行方式 | 副問合せの実行方式を表示します。また、詳細情報として以下の内容を表示します。 ・内部情報：システム内部情報です。
5 | 転送モード | HiRDBが内部的に問い合せを実行する際の転送モードを表示します。
6 | ORDER BY 処理方式 | ORDER BYの処理方式を表示します。
7 | グループ分け処理方式 | グループ分け処理方式を表示します。05-02以前は、高速化機能の使用を表示しています。（高速化機能を使用する場合、“HASH”と表示します。その他の場合は表示しません。）
8 | フロータブルサーバ要求数 | フロータブルサーバの要求数を表示します。また、詳細情報として以下の内容を表示します。 ・要求種類：フロータブルサーバへの要求の種類を表示します。 ・転送方法：フロータブルサーバへの転送方法を表示します。
9 | SQL最適化指定の有効無効 | 副問合せ実行方式のSQL最適化指定が指定された場合に、その指定が有効であったか、無効であったかを表示します。
10 | DISTINCT処理方式（内部情報） | DISTINCT処理の処理方式を表示します。
11 | If Then条件（内部情報） | IF-THEN 条件を表示します。
12 | Having句（内部情報） | Having句を表示します。
1 | 問合せ指定ID | 問合せIDを表示します。
2 | 問合せ種類 | 問合せの種類を表示します。
3 | 作業表情報 | 作業表情報を表示します。
4 | 副問合せ実行方式 | 副問合せの実行方式を表示します。また、詳細情報として以下の内容を表示します。 ・内部情報：システム内部情報です。
5 | 転送モード | HiRDBが内部的に問い合せを実行する際の転送モードを表示します。
6 | ORDER BY 処理方式 | ORDER BYの処理方式を表示します。
7 | グループ分け処理方式 | グループ分け処理方式を表示します。05-02以前は、高速化機能の使用を表示しています。（高速化機能を使用する場合、“HASH”と表示します。その他の場合は表示しません。）
8 | フロータブルサーバ要求数 | フロータブルサーバの要求数を表示します。また、詳細情報として以下の内容を表示します。 ・要求種類：フロータブルサーバへの要求の種類を表示します。 ・転送方法：フロータブルサーバへの転送方法を表示します。

③結合処理情報

# | 項目名 | 説明
1 | 結合処理ID | 結合処理IDを表示します。
2 | 外側JoinID | 外側の結合相手が他の結合結果の場合に、結合処理IDを表示します。また、詳細情報として、以下の内容を表示します。 ・作業表情報：作業表情報を指定します。
3 | 外表名 | 外側の結合相手が表の場合に、表名を表示します。また、詳細情報として、以下の内容を表示します。 ・スキーマ名：スキーマ名を表示します。 ・相関名 ：相関名を表示します。 ・表ID ：表IDを表示します。 ・作業表情報：作業表情報を表示します。 ・内部情報 ：システム内部情報です。
4 | 外側副問合せID | 外側の結合相手が副問合せの場合に、副問合せの問合せIDを表示します。また、詳細情報として、以下の内容を表示します。 ・作業表情報：作業表情報を表示します。
5 | 内側JoinID | 内側の結合相手が他の結合結果の場合に、結合処理IDを表示します。また、詳細情報として、以下の内容を表示します。 ・作業表情報：作業表情報を表示します。
6 | 内表名 | 内側の結合相手が表の場合に、表名を表示します。また、詳細情報として、以下の内容を表示します。 ・スキーマ名：スキーマ名を表示します。 ・相関名 ：相関名を表示します。 ・表ID ：表IDを表示します。 ・作業表情報：作業表情報を表示します。 ・内部情報 ：システム内部情報です。
7 | 内側副問合せID | 内側の結合相手が副問合せの場合に、副問合せの問合せIDを表示します。また、詳細情報として、以下の内容を表示します。 ・作業表情報：作業表情報を表示します。
8 | 結合方法 | 結合方法の種類を表示します。また、詳細情報として、以下の内容を表示します。 ・内部情報 ：システム内部情報です。 結合方法が“SELECT-APSL”の場合、更に以下の詳細情報を表示します。 ・表名 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列の表名を表示します。詳細情報として以下の内容を表示します。 ・相関名 ： 相関名を表示します。 ・表ID ： 表IDを表示します。 ・列ID ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列を表示します。 ・述語 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる条件の述語を表示します。 ・しきい値となるヒット率 ： SQLオブジェクトを選択するための基準値となるヒット率を表示します。 ・第１候補の結合方法 ： 結合方法の第１候補を表示します。詳細情報として以下の内容を表示します。 ・転送方法 ： 結合処理を行うサーバへの転送方法を表示します。 ・フロータブルサーバ要求数 ： フロータブルサーバの要求数を表示します。 ・第２候補の結合方法 ：結合方法の第２候補を表示します。詳細情報として以下の内容を表示します。 ・転送方法 ： 結合処理を行うサーバへの転送方法を表示します。 ・フロータブルサーバ要求数 ： フロータブルサーバの要求数を表示します。
9 | フロータブルサーバ要求数 | 項番①のフロータブルサーバの要求数と同じです。
10 | SQL最適化指定の有効無効 | 結合方式のSQL最適化指定が指定された場合に、その指定が有効であったか、無効であったかを表示します。
11 | 結合処理内部情報 | 詳細情報として以下の情報を表示します。 ・ 結合条件 ： 結合条件を表示します。 ・ ロー条件 ： ハッシュジョイン、副問合せのハッシュ実行時のロー条件を表示します。 ・ ロー条件（AFTER） ： ハッシュジョインのNULL拡張後、副問合せのハッシュ実行で基数違反チェック後のロー条件を表示します。 ・ IF-THEN条件（外結合） ： IF-THEN条件を表示します。 ・ IF-THEN条件 (内結合)： IF-THEN条件を表示します。 ・ IF-THEN条件：SELECT-APSL時のIF-THEN条件を表示します。

④実表検索処理情報

#

項目名

説明

1

表名

検索対象の表名を表示します。

また、詳細情報として、以下の内容を表示します。

・スキーマ名：スキーマ名を表示します。

・相関名 ：相関名を表示します。

・表ID ：表IDを表示します。

・作業表情報：作業表情報を表示します。

2

最適化情報取得の有無

最適化情報収集ユティリティによる最適化情報の有無を表示します。

また、詳細情報として、以下の内容を表示します。

・内部情報 ：システム内部情報です。

3

表分割の種別

表分割の種別を表示します。また、詳細情報として、以下の内容を表示します。

・ﾊｯｼｭ関数 ：ハッシュ関数名を表示します。（05-02以降表示されます。）

・分割数：分割数を表示します。

・ﾊﾞｯｸｴﾝﾄﾞｻｰﾊﾞ数：バックエンドサーバ数を表示します。

・検索種別 　：検索種別を表示します。

・RDｴﾘｱID ：表格納用のRDｴﾘｱIDを表示します。

・ﾘﾊﾞﾗﾝｽ　　　　：ﾘﾊﾞﾗﾝｽ状態を表示します。

4

検索方法

検索方法を表示します。 HiRDB／パラレルサーバで実表検索（SELECT-APSLあり）をする場合、もしくは実表検索（SELECT-APSLあり）と結合処理（SELECT-APSLあり）を組み合わせた場合、詳細情報として以下の内容を表示します。

・表名 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列の表名を表示します。詳細情報として、以下の内容を表示します。

・相関名 ： 相関名を表示します。

・表ID ： 表IDを表示します。

・列ID ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる列を表示します。

・述語 ： SQLオブジェクトを選択するためのSQL実行時ヒット率の算出対象となる条件の述語を表示します。

・しきい値となるヒット率 ： SQLオブジェクトを選択するための基準値となるヒット率を表示します。

・第１候補の検索方法 ： 実表検索（SELECT-APSLあり）の場合、実表の検索方法の第１候補を表示します。実表検索（SELECT-APSLあり）と結合処理（SELECT-APSLあり）を組み合わせた場合、結合方法で第１候補が選ばれたときの表の検索方法を表示します。詳細情報として、以下の内容を表示しま す。

・結合方法 ： 検索処理に対応する結合方法を表示します。

・ロー条件　　：ロー条件を表示します。

・IF-THEN条件：IF-THEN条件を表示します。

・インデクス名 ： 検索で使用するインデクス名を表示します。

詳細情報として、以下の内容を表示します。

・インデクスID ： インデクスIDを表示します。

・インデクス属性 ： インデクスの属性を表示します。（05-02以前

はシステム内部情報のため表示内容が異なります）

・構成列情報　：構成列情報を表示します。

・ｻｰﾁ条件　　 ：サーチ条件を表示します。

・ｷｰ条件　　　：キー条件を表示します。

・第２候補の検索方法 ： 実表検索（SELECT-APSLあり）の場合、実表の検索方法の第２候補を表示します。実表検索（SELECT-APSLあり）と結合処理（SELECT-APSLあり）を組み合わせた場合、結合方法で第２候補が選ばれたときの表の検索方法を表示します。詳細情報として、以下の内容を表示します。

・結合方法 ： 検索処理に対応する結合方法を表示します。

・ロー条件　　：ロー条件を表示します。

・IF-THEN条件 :IF-THEN条件を表示します。

・インデクス名 ： 検索で使用するインデクス名を表示します。

詳細情報として、以下の内容を表示します。

・インデクスID ： インデクスIDを表示します。

・インデクス属性 ： インデクスの属性を表示します。（05-02以前

はシステム内部情報のため表示内容が異なります）

・構成列情報　：構成列情報を表示します。

・ｻｰﾁ条件　　 ：サーチ条件を表示します。

・ｷｰ条件　　　：キー条件を表示します。

HiRDB／パラレルサーバで実表検索（SELECT-APSLあり）と結合処理（SELECT-APSLあり）を組み合わせた場合、更に以下の詳細情報を表示します。

・表名 ： SQLオブジェクトを選択するためのSQL実行時ヒット率

の算出対象となる列の表名を表示します。詳細情報として、

以下の内容を表示します。

・相関名 ： 相関名を表示します。

・表ID ： 表IDを表示します。

・列ID ： SQLオブジェクトを選択するためのSQL実行時ヒット率

の算出対象となる列を表示します。

・述語 ： SQLオブジェクトを選択するためのSQL実行時ヒット率

の算出対象となる条件の述語を表示します。

・しきい値となるヒット率 ： SQLオブジェクトを選択するための

基準値となるヒット率を表示します。

・第１候補の検索方法 ： 結合方法で第２候補が選ばれたときの、

表の検索方法の第１候補を表示します。詳細情報として、

以下の内容を表示します。

・ロー条件　　：ロー条件を表示します。

・IF-THEN条件：IF-THEN条件を表示します。

・インデクス名 ： 検索で使用するインデクス名を表示します。

詳細情報として、以下の内要を表示します。

・インデクスID ： インデクスIDを表示します。

・インデクス属性：インデクスの属性を表示します。（05-02

以前はシステム内部情報のため表示内容が異なります）

・構成列情報　：構成列情報を表示します。

・ｻｰﾁ条件　　 ：サーチ条件を表示します。

・ｷｰ条件　　　：キー条件を表示します。

・第２候補の検索方法： 結合方法で第２候補が選ばれたときの、

表の検索方法の第２候補を表示します。

・ロー条件　　：ロー条件を表示します。

・IF-THEN条件：IF-THEN条件を表示します。

5

インデクス名

検索で使用するｲﾝﾃﾞｸｽ名を表示します。詳細情報として、以下の内容を表示します。

・作業表番号　　　　：作業表番号を表示します。

・インデクスID ：インデクスIDを表示します。

・インデクス属性 ：インデクスの属性を表示します。

（05-02以前はシステム内部情報のため表示内容が異なります）

・構成列情報　：構成列情報を表示します。構成列名と、部分構造インデクスの情報を表示します。

・検索方法　　：検索方法を表示します。

・ｻｰﾁ条件　　：サーチ条件を表示します。

・ｷｰ条件　　　：キー条件を表示します。

・ロー条件　　：ロー条件を表示します。

・IF－THEN条件：IF-THEN条件を表示します。

・作業表作成情報：作業表作成情報を表示します。

・部分構造パスのユニーク種別：部分構造インデクスのユニーク種別を表示します。

・部分構造パス情報：部分構造インデクスを表現します。

6

作業表作成順序

作業表作成順序を表示します。

・作業表番号：作業表番号を表示します。

・作成順序　：作成順序を表示します。

7

SQL最適化指定の有効無効

使用インデクスのSQL最適化指定が指定された場合に、その指定が有効であったか、無効であったかを表示します。

8

ロー条件

ロー条件を表示します。

9

IF-THEN条件

IF-THEN条件を表示します。

10

作業表削減情報

作業表削減情報を表示します。

11

共用表フラグ

共用表フラグを表示します。

12

インデクスアドバイス情報（内部情報）

本項目はデバッグ用の情報です。

レジストリHKEY_CURRENT_USER\Software\HITACHI\HiRDB SQL Tuning Advisor\Option\Debugに０以外を設定した場合にのみ表示します。

詳細情報として１つの述語条件情報を表示します。

・自身のオフセット：

・述語のヒット率　：　述語のヒット率を表示します。

・条件に含まれる列数　：　条件に含まれる列数を表示します。

・条件に含まれる列情報へのオフセット：

・ORまたはANDNOTの左条件へのオフセット値：セルをダブルクリックすると該当する述語条件情報に表示を切り替えます。

・ORまたはANDNOTの右条件へのオフセット値：セルをダブルクリックすると該当する述語条件情報に表示を切り替えます。

・次のAND条件項へのオフセット値：セルをダブルクリックすると該当する述語条件情報に表示を切り替えます。

・前のAND条件項へのオフセット値：セルをダブルクリックすると該当する述語条件情報に表示を切り替えます。

・上位条件項へのオフセット値：セルをダブルクリックすると該当する述語条件情報に表示を切り替えます。

・述語種別　：　述語種別を文字列で表示します。

・サーチ条件で絞込みに使用する行値構成子数　：

・繰返し列および構造化繰返し述語の番号　：　繰返し列および構造化繰返し述語の番号を表示します。

・インデクス必須フラグ　：　「ON」「OFF」で表示します。

・範囲を形成する行値構成子フラグ　：　「ON」「OFF」で表示します。

・行値構成子要素数　：　行値構成子要素数を表示します。

・条件構成子情報　：　条件構成子情報として以下の内容を要素毎に表示します。

      ・行値構成子要素の番号

      ・列名と列ＩＤ：「列名（列ＩＤ）」の形式で表示します。

      ・シングルカラムインデクスの条件分類フラグ：数値で表示します。

      ・マルチカラムインデクスの条件分類フラグ：数値で表示します。

      ・IN述語中定数フラグ：「ON」「OFF」で表示します。

      ・キー条件拡張フラグ：「ON」「OFF」で表示します。

      ・インデクス未使用の理由：１６進数値および文字列で表示します。


SQLオブジェクト表示項目

ＳＱＬオブジェクト情報表示機能の表示項目を表１に示します。

表示項目中のSTATUS(SQLオブジェクトの状態)の表示内容を表２に示します。

表示項目中のTYPE(SQLオブジェクトのタイプ)の表示内容を表３に示します。

各項目の意味については、マニュアル「HiRDBコマンドリファレンス」を参照して、接続先のＨｉＲＤＢサーバのバージョンに対応する運用コマンドpdobilsの仕様を確認してください。

表１　ＳＱＬオブジェクトの情報

＃ | データ表記 | 内容
1 | SERVER NAME | SDS/FESサーバ名
2 | SQL OBJECT NO | SQLオブジェクトバッファ中の管理番号
3 | STATUS | SQLオブジェクトの状態(表２を参照)
4 | TYPE | SQLオブジェクトのタイプ(表３を参照)
5 | SIZE | SQLオブジェクトのサイズ
6 | EXECUTE COUNT | SQLオブジェクトを実行した回数
7 | EXECUTE TIME AVG | SQLオブジェクトの平均実行時間
8 | EXECUTE TIME MAX | SQLオブジェクトの最大実行時間
9 | EXECUTE TIME TOTAL | SQLオブジェクトの合計実行時間。この項目は運用コマンドpdobilsの出力情報中には無い。内容は平均実行時間(EXECUTE TIME AVG)と実行した回数(EXECUTE COUNT)の積です。
10 | SERVICE NAME | OLTP環境下で実行した場合、最大実行時間を記録したサービス名
11 | UAP NAME | 最大実行時間を記録したUAP名
12 | CONNECT NO | 最大実行時間を記録したUAPのコネクト通番
13 | SQL NO | 最大実行時間を記録したSQLカウント
14 | RECORD DATE/TIME | 最大実行時間を記録した時刻
15 | DB REFERENCE GET COUNT | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの参照回数（合計）
16 | DB REFERENCE GET COUNT AVG | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの参照回数（平均）
17 | DB REFERENCE GET COUNT MAX | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの参照回数（最大）
18 | DB UPDATE GET COUNT | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの更新回数（合計）
19 | DB UPDATE GET COUNT AVG | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの更新回数（平均）
20 | DB UPDATE GET COUNT MAX | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの更新回数（最大）
21 | DB READ COUNT | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実READ回数（合計）
22 | DB READ COUNT AVG | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実READ回数（平均）
23 | DB READ COUNT MAX | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実READ回数（最大）
24 | DB WRITE COUNT | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実WRITE回数（合計）
25 | DB WRITE COUNT AVG | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実WRITE回数（平均）
26 | DB WRITE COUNT MAX | ﾃﾞｰﾀﾍﾟｰｼﾞ、ｲﾝﾃﾞｸｽﾍﾟｰｼﾞ、ﾃﾞｨﾚｸﾄﾘﾍﾟｰｼﾞの実WRITE回数（最大）
27 | LOB REFERENCE GET COUNT | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの参照回数（合計）
28 | LOB REFERENCE GET COUNT AVG | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの参照回数（平均）
29 | LOB REFERENCE GET COUNT MAX | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの参照回数（最大）
30 | LOB UPDATE GET COUNT | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの更新回数（合計）
31 | LOB UPDATE GET COUNT AVG | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの更新回数（平均）
32 | LOB UPDATE GET COUNT MAX | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの更新回数（最大）
33 | LOB READ COUNT | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実READ回数（合計）
34 | LOB READ COUNT AVG | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実READ回数（平均）
35 | LOB READ COUNT MAX | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実READ回数（最大）
36 | LOB WRITE COUNT | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実WRITE回数（合計）
37 | LOB WRITE COUNT AVG | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実WRITE回数（平均）
38 | LOB WRITE COUNT MAX | LOB列ﾃﾞｰﾀﾍﾟｰｼﾞの実WRITE回数（最大）
39 | LIST REFERENCE GET COUNT | ﾘｽﾄﾍﾟｰｼﾞの参照回数（合計）
40 | LIST REFERENCE GET COUNT AVG | ﾘｽﾄﾍﾟｰｼﾞの参照回数（平均）
41 | LIST REFERENCE GET COUNT MAX | ﾘｽﾄﾍﾟｰｼﾞの参照回数（最大）
42 | LIST UPDATE GET COUNT | ﾘｽﾄﾍﾟｰｼﾞの更新回数（合計）
43 | LIST UPDATE GET COUNT AVG | ﾘｽﾄﾍﾟｰｼﾞの更新回数（平均）
44 | LIST UPDATE GET COUNT MAX | ﾘｽﾄﾍﾟｰｼﾞの更新回数（最大）
45 | LIST READ COUNT | ﾘｽﾄﾍﾟｰｼﾞの実READ回数（合計）
46 | LIST READ COUNT AVG | ﾘｽﾄﾍﾟｰｼﾞの実READ回数（平均）
47 | LIST READ COUNT MAX | ﾘｽﾄﾍﾟｰｼﾞの実READ回数（最大）
48 | LIST WRITE COUNT | ﾘｽﾄﾍﾟｰｼﾞの実WRITE回数（合計）
49 | LIST WRITE COUNT AVG | ﾘｽﾄﾍﾟｰｼﾞの実WRITE回数（平均）
50 | LIST WRITE COUNT MAX | ﾘｽﾄﾍﾟｰｼﾞの実WRITE回数（最大）
51 | WKFILE READ COUNT | 作業用ﾌｧｲﾙの実READ回数（合計）
52 | WKFILE READ COUNT AVG | 作業用ﾌｧｲﾙの実READ回数（平均）
53 | WKFILE READ COUNT MAX | 作業用ﾌｧｲﾙの実READ回数（最大）
54 | WKFILE WRITE COUNT | 作業用ﾌｧｲﾙの実WRITE回数（合計）
55 | WKFILE WRITE COUNT AVG | 作業用ﾌｧｲﾙの実WRITE回数（平均）
56 | WKFILE WRITE COUNT MAX | 作業用ﾌｧｲﾙの実WRITE回数（最大）
57 | PREPROCESSOR USER | UAPのソースプログラムをプリプロセスしたユーザ名
58 | PREPROCESSOR SOURCE | プリプロセスをしたUAPのソースプログラム名
59 | SECTION NO | セクション番号
60 | ISOLATION LEVEL | データ保証レベル
61 | OPTIMIZE LEVEL | 最適化オプション
62 | ADDITIONNAL OPTIMIZE LEVEL | 拡張最適化オプション
63 | DEFAULT SCHEMA | SQL文で認可識別子を省略した場合に仮定する認可識別子
64 | ROUTINE ID | ルーチンでのオブジェクトID
65 | SQL | SQL文

(注)SQLオブジェクトの平均実行時間、最大実行時間、合計実行時間はマイクロ秒まで表示しますが、実際の精度はＨｉＲＤＢの運用コマンドpdobilsの出力仕様によります。

表２　SQLオブジェクトの状態

# | 状態表記 | 内容
1 | ACTIVE | SQLオブジェクトを使用しているUAPがある。
2 | LRU | バッファに格納しているが、使用していない。
3 | TEMPORARY | プロセス間で共有していない。
4 | COMPILE/TRANSFER | 静的SQLのSQLオブジェクトを作成中。または、FESからBES/DSにSQLオブジェクトを転送中。
5 | PROCESS | SQLオブジェクトをプロセスメモリで管理している。
6 | RELEASE | SQLオブジェクトを開放中。または、無効になった。

表３　SQLオブジェクトのタイプ

# | タイプ表記 | 内容
1 | STATIC SQL | 静的SQLのSQLオブジェクト。
2 | DYNAMIC SQL | 動的SQLのSQLオブジェクト。
3 | ROUTINE | ルーチンのSQLオブジェクト。


結合方式と検索方式の種類

注意：これは HiRDBサーバ 07-01 の仕様を記述したものです。 07-01 以外のバージョンでは、HiRDBサーバの仕様が異なる可能性があります。

■ 結合方式の種類

結合方式の名称の中で、”L”は外表，”R”は内表を表しています。結合方式については，マニュアル「HiRDB Version 7 UAP開発ガイド」を参照してください。

(1)　マージジョイン

マージジョインは，外表をあまり絞り込めないときに有効です。

l SORT MERGE JOIN

外表と内表から行を取り出して，それぞれ作業表を作成しソートします。その後，結合条件を満たした行同士を結合します。

l KEY SCAN MERGE JOIN

外表と内表から，KEY SCANで行を取り出します。その後，結合条件を満たした行同士を結合します。

l LIST SCAN MERGE JOIN

外表と内表から作業表を作成し，ソートはしないで結合列の昇順に行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-KEY R-LIST MERGE JOIN

外表はKEY SCANで行を取り出し，内表は作業表を作成し，ソートはしないで行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-KEY R-SORT MERGE JOIN

外表はKEY SCANで行を取り出し，内表は作業表を作成し，ソートをして行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-LIST R-KEY MERGE JOIN

外表は作業表を作成し，ソートはしないで行を取り出し，内表はKEY SCANで行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-LIST R-SORT MERGE JOIN

外表は作業表を作成し，ソートはしないで行を取り出し，内表は作業表を作成し，ソートをして行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-SORT R-KEY MERGE JOIN

外表は作業表を作成し，ソートをして行を取り出し，内表はKEY SCANで行を取り出します。その後，結合条件を満たした行同士を結合します。

l L-SORT R-LIST MERGE JOIN

外表は作業表を作成し，ソートをして行を取り出し，内表は作業表を作成し，ソートをしないで行を取り出します。その後，結合条件を満たした行同士を結合します。

(2)　ネストループジョイン

ネストループジョインは，内表にインデクスが定義されていて，外表をかなり絞り込めるときに有効です。

l NESTED LOOPS JOIN

外表から1行ずつ行を取り出し，内表のそれぞれの行に突き合わせて，結合条件を満たす行を取り出す入れ子型のループ処理をする結合方法です。

l R-LIST NESTED LOOPS JOIN

内表から行を取り出して作業表を作成します。その後，外表から1行ずつ行を取り出して，それぞれの行に対して内表から作成した作業表を突き合わせ，結合条件を満たす行を取り出す入れ子型のループ処理をする結合方法です。

(3)　ハッシュジョイン

l HASH JOIN{FOR EACH}

あらかじめ内表の結合列の値でハッシングしてハッシュ表を作成しておいて，外表を1行取り出すごとに外表の結合列の値でハッシングして，内表から作成しておいたハッシュ表と突き合わせて結合します。

(4)　SELECT-APSL

SELECT-APSLは，SQL実行時に結合方法を動的に決定する方式です。

l SELECT-APSL（HiRDB/パラレルサーバの場合だけ）

条件に？パラメタを含んでいる場合，？パラメタの値によって最適な結合方法が変わることがあります。また，SQL最適化処理時に？パラメタの値が決まらないため，最適な結合方法が決定できません。そのため，SQL実行時にヒット率を計算して結合方法を決定します。

(5)　分散ネストループジョイン

外部表が内表となる場合に，ネストループジョインで結合する方法です。

l DISTRIBUTED NESTED LOOPS JOIN

外表から行を取り出して，それぞれの行に対して内表となる外部表がある外部サーバに対して，外表の行の値を変数として渡したSQL文を実行して突き合わせることで，結合条件を満たす行を取り出す入れ子型のループ処理の結合をします。

(6)　直積

l CROSS JOIN

外表のすべての行と，内表のすべての行をそれぞれ組み合わせて結合します。二つ以上の表にわたった条件があれば，結合した後に判定します。

■ 検索方式の種類

検索方式については，マニュアル「HiRDB Version 7 UAP開発ガイド」を参照してください。

(1)　インデクスを使用しない検索

l TABLE SCAN

インデクスを使用しないで，表のデータページを検索します。

(2)　一つのインデクスを使用した検索

l INDEX SCAN

単一列インデクスのインデクスページを検索して絞り込んだ後，表のデータページを検索します。

l KEY SCAN

単一列インデクスのインデクスページだけを検索します。データページは検索しません。

l MULTI COLUMNS INDEX SCAN

複数列インデクスのインデクスページを検索して絞り込んだ後，表のデータページを検索します。

l MULTI COLUMNS KEY SCAN

複数列インデクスのインデクスページだけを検索します。データページは検索しません。

l PLUGIN INDEX SCAN

プラグインインデクスを使用して絞り込んだ後，表のデータページを検索します。

l PLUGIN KEY SCAN

プラグインインデクスを使用してインデクスページだけを検索します。データページは検索しません。

(3)　SELECT-APSL

l SELECT-APSL（HiRDB/パラレルサーバの場合だけ）

条件に？パラメタを含んでいる場合，？パラメタの値によって最適な検索方法が変わることがあります。また，前処理時に？パラメタの値が決まらないため，最適な検索方法が決定できません。そのため，SQL実行時にヒット率を計算して検索方法を決定します。

(4)　複数のインデクスを使用した検索

l AND PLURAL INDEXES SCAN

AND演算子又はOR演算子で結ばれた探索条件に対して，それぞれのインデクスを使用して検索し，行識別子（ROWID）をそれぞれの作業表に格納します。これらの作業表を，AND演算子の場合は積集合，OR演算子の場合は和集合，ANDNOT演算子（ASSIGN LIST文でだけ使用できます）の場合は差集合をとって，一つの作業表にまとめます。その後，この作業表の行識別子を基に行を取り出します。

各条件から行識別子の作業表を作成するときに，条件列にインデクスがなくても，TABLE SCANによって作業表を作成する場合があります。

l OR PLURAL INDEXES SCAN

OR演算子で結ばれた探索条件に対して，それぞれのインデクスを使用して検索し，行識別子（ROWID）を一つの作業表に格納します。この作業表の重複する行を重複排除した後，行識別子を基に行を取り出します。

各条件から行識別子の作業表を作成するときに，条件列にインデクスがなくても，TABLE SCANによって作業表を作成する場合があります。

(5)　作業表の検索

l LIST SCAN

内部的に作成した作業表を検索します。

(6)　行識別子を使用した検索

l ROWID FETCH

行識別子（ROWID）をキーにして表を検索します。行を取り出す必要がない場合は検索しません。

(7)　外部サーバに対する問合せ結果の検索

l FOREIGN SERVER SCAN

外部サーバに対してSQLを発行し，問合せ結果を受け取ります。

l FOREIGN SERVER LIMIT SCAN

先頭からn行の検索結果を取得する機能を使用している場合に表示されることがあります。外部サーバに対して，ORDER BY句を含むSQL文を実行し，問合せ結果の先頭からn行を受け取ります。


ガイダンス一覧

１．ガイダンスの出力形式

ガイダンスはメッセージ形式表示されます。

表示される場所は、アクセスパス詳細画面のＳＱＬ詳細部分または、ガイダンス一覧表示を実行したときのガイダンスメッセージ一覧画面で表示されます。

２．説明記述形式

＜概要（メッセージ）＞：性能向上可能と予想されるSQLの問題点の概要を示します。

＜指摘内容＞：概要に対応するアクセスパス情報の状態および、

              そのSQLがなぜ不適切かを説明を示します。

＜改善案＞　：改善案の説明を示します。

              また、改善案採用後にSQL Tuning Advisorで再度確認する項目や、

              改善案特有の注意事項も示します。

＜注意事項＞：本ガイダンス全体の注意事項を示します。

３．ガイタンス一覧

（概要一覧）

・KFPX29601-I {info}検索方法が「TABLE SCAN」となっています。

・KFPX29604-I {info}インデクスのサーチ条件が「FULL SCAN」となっています。

・KFPX29605-I {info}インデクスの中間列が使用されていません。

・KFPX29606-I {info}インデクスの第一構成列がイコール条件で使用されていません。

・KFPX29608-I {info}実表検索処理にORの単独インデクス利用を適用しています。

・KFPX29701-I インデクスのサーチ条件ヒット件数が抽出した件数に比べ、かなり大きい値です。

・KFPX29702-I インデクスのサーチ条件ヒット件数がキー条件ヒット件数に比べ、かなり大きい値です。

・KFPX29703-I 複数インデクス利用(AND演算)において、インデクスを用いたヒット件数と抽出した件数が近似しています。

・KFPX29704-I 複数インデクス利用(AND演算)において、インデクスを用いたヒット件数同士に開きがあります。

・KFPX29705-I 左表突合せ件数が右側突合せ件数に比べ、かなり大きい値です。

・KFPX29706-I 左表突合せ件数が結合結果件数に比べ、かなり大きい値です。

・KFPX29707-I 先に処理した結合結果件数が後で処理した結合結果件数に比べ、かなり大きい値です。

・KFPX29708-I HASH JOINにおいて、左表突合せ件数が右側突合せ件数に比べ、小さい値です。

・KFPX29709-I グループ化する前の件数がグループ化した後の件数に比べ、かなり大きい値です。

・KFPX29710-I グループ化する前の件数とグループ化した後の件数が近似しています。

・KFPX29981-I {info}実表検索処理にANDの複数インデクス利用を適用しています。

・KFPX29982-I {info}実表検索処理に複数列インデクスを使用しています。

・KFPX29983-I {info}複数列インデクスを利用した問合せにORDER BY指定、GROUP BY指定、暗黙的GROUPBYの適用のいずれかがされています。

・KFPX29984-I {info}サーチ条件が存在していません。

・KFPX29985-I {info}サーチ条件の第１構成列の絞り込み範囲が、MIN～MAXまでとなっています。

・KFPX29991-I {info}パラレルサーバで結合方式がネストループジョインまたはハッシュジョインとなり、転送種別がブロードキャストになっています。

・KFPX29992-I {info}結合検索に使用する表がフレキシブルハッシュ分割になっています。

・KFPX29993-I {info}転送方法が1TO1以外になっています。

・KFPX29994-I {info}結合方法がクロスジョインになっています。

・KFPX29995-I {info}結合方法がソートマージジョインになっています。


KFPX29601-I

＜概要＞

KFPX29601-I {info}検索方法が「TABLE SCAN」となっています。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：検索方法」にTABLE SCANと表示されています。

インデクスを使用していない為、サーチ時間が長くなっている可能性があります。

＜改善案＞

当該SQLに対応する適切なインデクスを追加できないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

            SELECT * FROM T1 WHERE C1=100

↓

            インデクス定義T1(C1)を定義する。

  バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：検索方法」の表示で、検索方法を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

定義したインデクスが有効に利用できないとHiRDBが判断した場合は，該当するインデクスが使用されない場合があります。インデクスが使用されない場合はWHERE句の探索条件を見直してください。

本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を追加・変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29604-I

＜概要＞

KFPX29604-I {info}インデクスのサーチ条件が「FULL SCAN」となっています。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」にNONE(FULL SCAN)または、(FULL SCAN)と表示されています。

NONE(FULL SCAN)となっている場合、サーチ条件が存在しない為、インデクスの検索する範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

＜改善案＞

（１）当該SQLに対応する適切なインデクスを追加できないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

            SELECT * FROM T1 WHERE C3>50

↓

            インデクス定義T1(C3)を定義する。

（２）絞り込んでいる列をインデクスの第1構成列にできないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

            SELECT * FROM T1 WHERE C3＝50 AND C2=C3 AND C4>40

                        ↓

            インデクス定義T1(C3,C2,C4)を定義する。

  （１）（２）いずれの場合も、バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」の表示で、サーチ条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29605-I

＜概要＞

KFPX29605-I {info}インデクスの中間列が使用されていません。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」において中間列の絞り込み範囲が、MIN～MAXまでとなっている為、インデクスの検索する範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

＜改善案＞

当該SQLに対応する適切なインデクスを追加できないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

SELECT * FROM T1 WHERE C2>=70 AND C4>40

↓

            インデクス定義T1(C2,C4)を定義する。

  バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」の表示で、サーチ条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29606-I

＜概要＞

KFPX29606-I {info}インデクスの第一構成列がイコール条件で使用されていません。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」において第n（n>1）構成列で＝演算されており、第一構成列では＝演算されていない為、インデクスの検索する範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

＜改善案＞

絞り込んでいる列をインデクスの先頭構成列にできないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

            SELECT * FROM T1 WHERE C2>60 AND C3=90 AND C4=50

                        ↓

            インデクス定義T1(C3,C4,C2)またはT1(C4,C3,C2)を定義する。

  バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」の表示で、サーチ条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29608-I

＜概要＞

KFPX29608-I {info}実表検索処理にORの単独インデクス利用を適用しています。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｷｰ条件」に『△OR△』と表示されています。

条件の範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

＜改善案＞

当該SQLに対応する適切なインデクスを追加できないか検討して下さい。

      （例）インデクス定義T1(C2,C3,C4)

SELECT * FROM T1 WHERE C2=70 OR C4=50

↓

            インデクス定義T1(C2)およびT1(C4)を定義する。

  いずれの場合も、バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｷｰ条件」の表示で、キー条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29701-I

＜概要＞

KFPX29701-I インデクスのサーチ条件ヒット件数が抽出した件数に比べ、かなり大きい値です。

＜指摘内容＞

インデクススキャンにおいて、インデクスのサーチ条件ヒット件数と、その表のロー条件、IF-THEN条件まで評価したヒット件数の値に、開き(*1)があります。

条件の範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

当該ＳＱＬに対応する適切なインデクスを追加できないか検討して下さい。

適切なインデクスを求めるには、インデクス提案機能を使用すると便利です。

      （例）インデクス定義T1(C1)

SELECT C1,C2,C3 FROM T1 WHERE C1=10 AND C2=’X’;

            インデクス構成列が適切でない。

↓

            インデクス定義T1(C1,C2)を定義する。

  対策を行いＳＱＬを実行すると、サーチ条件ヒット件数が減ります。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29702-I

＜概要＞

KFPX29702-I インデクスのサーチ条件ヒット件数がキー条件ヒット件数に比べ、かなり大きい値です。

＜指摘内容＞

インデクススキャンまたはキースキャンにおいて、インデクスのサーチ条件ヒット件数と、キー条件まで評価したヒット件数の値に、開き(*1)があります。

条件の範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

当該ＳＱＬに対応する適切なインデクスを追加できないか検討して下さい。

適切なインデクスを求めるには、インデクス提案機能を使用すると便利です。

      （例）インデクス定義T1(C1,C3,C2)

SELECT C1,C2,C3,C4 FROM T1 WHERE C1=10 AND C2=’X’;

インデクス構成列の並びが適切でない。

↓

            インデクス定義T1(C1,C2)を定義する。

  対策を行いＳＱＬを実行すると、サーチ条件ヒット件数が減ります。

＜注意事項＞

  中間結果情報の値に拠らずに出力されるガイダンスKFPX29605-Iは、本ガイダンスと同じ意味を持ち、出力されます。

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29703-I

＜概要＞

KFPX29703-I 複数インデクス利用(AND演算)において、インデクスを用いたヒット件数と抽出した件数が近似しています。

＜指摘内容＞

複数インデクス利用の演算がANDであり、かつ一つ目のインデクスのヒット件数または二つ目のインデクスのヒット件数と、AND演算結果の件数の値が、近似(*1)しています。

複数インデクスにおける条件の範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値の割合を下回る差。

＜改善案＞

当該ＳＱＬに対応する適切なインデクスを追加できないか検討して下さい。

または、環境変数のＳＱＬ最適化オプション値を変更できないか検討して下さい。

適切なインデクスを求めるには、インデクス提案機能を使用すると便利です。

      （例）インデクス定義T1(C1)とT1(C2)

SELECT C1,C2,C3,C4 FROM T1 WHERE C1=10 AND C2=’X’;

            インデクスT1(C1)のヒット件数とAND演算結果の件数が近似していたとき

            インデクスT1(C2)は絞込みに効いていない。

↓

            インデクス定義T1(C1,C2)を定義する。

または、環境変数のＳＱＬ最適化オプション値に『ANDの複数インデクス利用の抑止

(DETER_AND_INDEXES)』を加えてください。

（インデクス定義T1(C2)が使用されない。）

  対策を行いＳＱＬを実行すると、スキャン方式が複数インデクススキャンからインデクススキャンになります。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。ＳＱＬ最適化オプション値を変更した場合は、必ず当該環境変数を用いる全てのＳＱＬの性能を評価して変更の効果が妥当であることを確認してください。


KFPX29704-I

＜概要＞

KFPX29704-I複数インデクス利用(AND演算)において、インデクスを用いたヒット件数同士に開きがあります。

＜指摘内容＞

複数インデクス利用の演算がANDであり、かつ一つ目のインデクスのヒット件数と、二つ目のインデクスのヒット件数の値に、開き(*1)があります。

複数インデクスにおける条件の範囲が有効に絞り込まれていません。

サーチ時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

当該ＳＱＬに対応する適切なインデクスを追加できないか検討して下さい。

適切なインデクスを求めるには、インデクス提案機能を使用すると便利です。

      （例）インデクス定義T1(C1)とT1(C2)

SELECT C1,C2,C3,C4 FROM T1 WHERE C1=10 AND C2=’X’;

            インデクスT1(C1)のヒット件数が、インデクスT1(C2) のヒット件数に比べ、かなり大きいとき

            インデクスT1(C2)は絞込みに効いていない。

↓

            インデクス定義T1(C1,C2)を定義する。

  対策を行いＳＱＬを実行すると、スキャン方式が複数インデクススキャンからインデクススキャンになります。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29705-I

＜概要＞

KFPX29705-I 左表突合せ件数が右側突合せ件数に比べ、かなり大きい値です。

＜指摘内容＞

左表突合せ件数と右側突合せ件数に、開き(*1)があります。

ジョイン方式NESTED LOOPS JOINにおいて、より絞り込める表が外側（Left）となっていません。

結合処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

より絞り込める表が外側（Left）となるよう当該ＳＱＬを書き換えてください。

      （例）インデクス定義T1(C1,C2)とT2(C1,C3)

SELECT * FROM T1,T2 WHERE T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

            左表がT1、右表がT2にて、左表突合せ件数が右側突合せ件数に比べ、かなり大きいとき、

          右表(T2)のほうが絞り込める。

↓

            INNER JOIN句を使用する。

SELECT * FROM T1 INNER JOIN T2 ON T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

  対策を行いＳＱＬを実行すると、左表がT2、右表がT1となります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該ＳＱＬの性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29706-I

＜概要＞

KFPX29706-I左表突合せ件数が結合結果件数に比べ、かなり大きい値です。

＜指摘内容＞

左表突合せ件数と結合結果件数に、開き(*1)があります。

ジョイン方式NESTED LOOPS JOINにおいて、より絞り込める表が外側（Left）となっていません。

結合処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

より絞り込める表が外側（Left）となるよう当該ＳＱＬを書き換えてください。

      （例）インデクス定義T1(C1,C2)とT2(C1,C3)

SELECT * FROM T1,T2 WHERE T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

            左表がT1、右表がT2にて、左表突合せ件数が結合結果件数に比べ、かなり大きいとき、

          右表(T2)のほうが絞り込める可能性がある。

↓

            INNER JOIN句を使用する。

SELECT * FROM T1 INNER JOIN T2 ON T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

  対策を行いＳＱＬを実行すると、左表がT2、右表がT1となります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該ＳＱＬの性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29707-I

＜概要＞

KFPX29707-I 先に処理した結合結果件数が後で処理した結合結果件数に比べ、かなり大きい値です。

＜指摘内容＞

先に処理した結合結果件数と後で処理した結合結果件数に、開き(*1)があります。

ジョイン方式NESTED LOOPS JOINにおいて、より絞り込める結合処理が先に処理されていません。

結合処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

絞り込める結合処理が先に処理されるよう当該ＳＱＬを書き換えてください。

      （例）インデクス定義T1(C1,C2)とT2(C1,C3)とT3(C1,C4)

SELECT * FROM T1,T2,T3 WHERE T1.C1=T2.C1 AND T1.C1=T3.C1

AND T1.C2=10 AND T2.C3=’X’ AND T3.C4=’2004-06-06’;

            先に結合処理される表がT1,T2で、検索結果件数が後で処理した結合結果件数に比べ、

かなり大きいとき、右表(T2)のほうが絞り込める可能性がある。

↓

            INNER JOIN句を使用する。

SELECT * FROM T1 INNER JOIN T2 ON T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’

INNER JOIN T3 ON T1.C1=T3.C1 AND T3.C4=’2004-06-06’;

  対策を行いＳＱＬを実行すると、T2,T3が左表、T1が右表となります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該ＳＱＬの性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29708-I

＜概要＞

KFPX29708-I HASH JOINにおいて、左表突合せ件数が右側突合せ件数に比べ、小さい値です。

＜指摘内容＞

左表突合せ件数と右側突合せ件数に、開き(*1)があります。

ジョイン方式HASH JOINにおいて、より絞り込める表が内側（Right）となっていません。

結合処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

より絞り込める表が内側（Right）となるよう当該ＳＱＬを書き換えてください。

      （例）インデクス定義T1(C1,C2)とT2(C1,C3)

SELECT * FROM T1 LEFT JOIN T2 ON T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

            左表がT1、右表がT2にて、左表突合せ件数が右側突合せ件数に比べ、小さい値とき、

          左表(T1)のほうが絞り込める。

↓

            INNER JOIN句を使用する。

SELECT * FROM T1 INNER JOIN T2 ON T1.C1=T2.C1 AND T1.C2=10 AND T2.C3=’X’;

  対策を行いＳＱＬを実行すると、左表がT2、右表がT1となります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該ＳＱＬの性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29709-I

＜概要＞

KFPX29709-I グループ化する前の件数がグループ化した後の件数に比べ、かなり大きい値です。

＜指摘内容＞

グループ化する前の件数とグループ化した後の件数に、開き(*1)があります。

Group by ModeがLIST SORT またはFLOATABLE SORTにおいて、グループ化による行数が極端に減少しています。

グループ化処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値を超える開き。

＜改善案＞

Group by ModeがHASH となるよう環境変数のＳＱＬ最適化オプション値に『グループ分け高速化処理(RAPID_GROUPING)』を加えてください。

  対策を行いＳＱＬを実行すると、Group by ModeがHASHとなります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。ＳＱＬ最適化オプション値を変更した場合は、必ず当該環境変数を用いる全てのＳＱＬの性能を評価して変更の効果が妥当であることを確認してください。


KFPX29710-I

＜概要＞

KFPX29710-I グループ化する前の件数とグループ化した後の件数が近似しています。

＜指摘内容＞

グループ化する前の件数とグループ化した後の件数の値が、近似(*1)しています。

Group by ModeがHASHにおいて、グループ化による行数がほとんど変化していません。

グループ化処理時間が長くなっている可能性があります。

(*1)環境設定で指定した閾値の割合を下回る差。

＜改善案＞

Group by ModeがLIST SORTまたはFLOATABLE SORT となるよう環境変数のＳＱＬ最適化オプション値から『グループ分け高速化処理(RAPID_GROUPING)』を外してください。

  対策を行いＳＱＬを実行すると、Group by ModeがLIST SORTまたはFLOATABLE SORTとなります。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。ＳＱＬ最適化オプション値を変更した場合は、必ず当該環境変数を用いる全てのＳＱＬの性能を評価して変更の効果が妥当であることを確認してください。


KFPX29981-I

＜概要＞

KFPX29981-I {info}実表検索処理にANDの複数インデクス利用を適用しています。

＜指摘内容＞

「検索方法」にAND PLURAL INDEXES SCANと表示されています。

ANDの複数インデクス利用は、サーチ時間が著しく劣化する可能性があります。

＜改善案＞

（１）ANDを用いて複数の述語を指定した絞込み条件で、使用される列パターンが限られている場合は、複数のインデクスを利用して絞り込むよりも、１つの複数列インデクスを用いるほうが一般的です。それぞれの述語の列を構成列とする複数列インデクスを定義できないか検討してください。

なお、複数列インデクスを定義する場合には、＝述語で組み合わせて指定されることが多い列を、先頭から順にインデクス構成列として指定できないか検討してください。

（例）インデクス定義T1(C1)、T1(C2)、T1(C3)、T1(C4)

SELECT ＊ FROM T1 WHERE C1=10 AND C2=30 AND C3 BETWEEN 10 AND 20

SELECT ＊ FROM T1 WHERE C1=10 AND C2=30 AND C3 <= 15

SELECT ＊ FROM T1 WHERE C1=20 AND C2=40 AND C4 = 60

                 ↓

インデクス定義T1(C1, C2, C3)、T1(C1, C2, C4)を定義する。

（２）ANDを用いて複数の述語を指定した絞込み条件で、使用される列パターンが特定できない場合は、インデクスを利用しないほうが性能が向上することがあります。

    下記に示す方法によりインデクスを利用しなくなります。

      ・絞込み条件で利用されるインデクスの削除

      ・SQL最適化オプションの設定

（１）（２）いずれの場合も、バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名」の表示で、インデクス構成列とその構成順序を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

インデクスを定義する数はできるだけ少なくしてください。

本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。オプティマイズレベルを変更した場合は、必ず当該環境変数を用いる全てのSQLの性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29982-I

＜概要＞

KFPX29982-I {info}実表検索処理に複数列インデクスを使用しています。

＜指摘内容＞

「インデクス名」にインデクス構成列が複数表示されています。

複数列インデクスの構成列は、＝述語で組み合わせて指定されることが多い列を、値の重複の少ないものから順にインデクス構成列として指定すると、インデクス内の探索範囲を小さくし、インデクス内のサーチ時間を削減できる場合が有ります。

＜改善案＞

使用している複数列インデクスの構成列が、＝述語で組み合わせて指定されることが多い列を、値の重複の少ないものから順に指定しているか確認して下さい。構成列の順序が上記に当てはまらない場合は、インデクスの構成列の順序を上記に当てはまるように変更できないか検討してください。

(例)

  SELECT ＊ FROM T1 WHERE C1 BETWEEN 10 AND 20 AND C2=10 AND C3=30

    ↓

  T1(C2, C3, C1)のインデクスを定義する。

バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「インデクス名の詳細情報：構成列情報」の内容を見ることによってインデクス構成列とその構成順序を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

インデクスを定義する数はできるだけ少なくしてください。

本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ず性能を評価して変更の効果が妥当であることを確認してください。


KFPX29983-I

＜概要＞

KFPX29983-I {info}複数列インデクスを利用した問合せにORDER BY指定、GROUP BY指定、暗黙的GROUPBYの適用のいずれかがされています。

＜指摘内容＞

「インデクス名」にインデクス構成列が複数表示、Order By ModeまたはGroup By Modeが表示されています。

一表の検索でORDER BY処理またはGROUP BY処理のためにソートを行なっている場合、インデクスが昇順または降順に作成されていることを利用して、ORDER BY列またはGROUP BY列がソートされて出てくるようにインデクス定義を変更する事によって、インデクスを利用してアクセスするデータをしぼりこみ、さらにソート処理を省略できるため、CPU時間，I/O時間を削減できる場合が有ります。

＜改善案＞

  ＝述語（「列指定＝値指定」のみ）,またはIS NULL述語(「列指定 IS NULL」)の探索条件で絞り込んだ後に、ORDER BY, GROUP BYを指定(暗黙的GROUP BYを含みます)した一表の検索の場合、以下の２つの条件をともに満たすインデクスを定義できないか検討してください。

＝述語（またはIS NULL述語）を指定した列指定が、第１構成列から第ｎ構成列まで連続して指定する。

GROUP BYまたはORDER BYで指定する列をその順に、第ｎ＋１構成列以降連続して指定する。(暗黙的GROUP BYでグルーピングされる列を含みます)

(例)

SELECT C2, C3 FROM T1

WHERE C1=10 AND C2= ? AND C3>10

ORDER BY C4 DESC,C5 ASC

    ↓

T1(C1 ASC, C2 ASC, C4 DESC, C5 ASC)、またはT1(C1 ASC,C2 ASC,C4 DESC,C5 ASC,C3 ASC)のインデクスを定義する。

バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「インデクス名の詳細情報：構成列情報」の内容を見ることによってインデクス構成列とその構成順序を確認することができます。

＜注意事項＞

以下のいずれか一つでも満たすと ソート処理をなくすことはできません。

シングルサーバ，パラレルサーバ共通の制限

  ・ DISTINCTを指定している。

  ・ 探索条件によって、インデクスを使用しない検索を選択している。

  ・ T1が分割していて、サーバ内分割された非分割キーインデクス（「インデクス名」の表示でインデクス属性が"d"となるインデクス）はソート処理を省略できません。ただし、全分割キーに「列＝値指定」を指定している場合を除きます。

シングルサーバのみの制限

  ・ T1が分割していて、CREATE TABLE文で指定した分割キーがインデクス構成列の先頭から同じ順で含まれている場合（「インデクス名」の表示でインデクス属性が"D"となるインデクス）はソート処理を省略できません。ただし、全分割キーに「列＝値指定」を指定している場合を除きます。

パラレルサーバのみの制限

  ・ INSERT-SELECT文である。

  ・ 副問合せ中である。

  ・ 集合演算を指定している。

  ・ HAVING句を指定している。

  ・ FOR UPDATE、FOR READ ONLYを指定している。

  ・ T1が分割していて、CREATE TABLE文で指定した分割キーがインデクス構成列の先頭から同じ順で含まれていて（「インデクス名」の表示でインデクス属性が"D"となるインデクス）、かつ同一バックエンドサーバのRDエリアを複数割り当てている場合にはソート処理を省略できません。ただし、全分割キーに「列＝値指定」を指定している場合を除きます。

  本対策は必ず性能が向上するとは限りません。インデクス定義を変更した場合は、必ず性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29984-I

＜概要＞

KFPX29984-I {info}サーチ条件が存在していません。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」にNONE(FULL SCAN)と表示されています。

サーチ条件が存在しない為、インデクスの検索する範囲が有効に絞り込まれていません。このため、サーチ時間が長くなっている可能性があります。

＜改善案＞

当該SQLに対応する適切なインデクスを追加できないか検討して下さい。

      （例）インデクス定義T1(C1)

            SELECT * FROM T1 WHERE C2=10

↓

            インデクス定義T1(C2)を定義する。

  バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」の表示で、サーチ条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29985-I

＜概要＞

KFPX29985-I {info}サーチ条件の第１構成列の絞り込み範囲が、MIN～MAXまでとなっています。

＜指摘内容＞

「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」に (FULL SCAN)と表示されています。

サーチ条件の第１構成列の絞り込み範囲が、MIN～MAXまでとなっている為、インデクスの検索する範囲が有効に絞り込まれていません。

どちらの場合も、サーチ時間が長くなっている可能性があります。

＜改善案＞

絞り込んでいる列をインデクスの第1構成列にできないか検討して下さい。

      （例）インデクス定義T1(C2,C1)

            SELECT * FROM T1 WHERE C1=10 AND C2=C1

                        ↓

            インデクス定義T1(C1,C2)を定義する。

バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名の詳細情報：ｻｰﾁ条件」の表示で、サーチ条件を確認することができます。

＜注意事項＞

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きくなります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけインデクス構成列に含めないようにしてください。

  インデクスを定義する数はできるだけ少なくしてください。

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29991-I

＜概要＞

  KFPX29991-I {info}パラレルサーバで結合方式がネストループジョインまたはハッシュジョインとなり、転送種別がブロードキャストになっています。

＜指摘内容＞

「結合方法」にNESTED LOOPS JOINまたはHASH JOINと表示され、且つ、「結合方法の詳細情報：転送方法」にBROADCASTと表示されています。

  パラレルサーバで、結合検索時にネストループジョインまたはハッシュジョインの内表をキーレンジ分割、またはFIXハッシュ分割する場合、結合列を表の分割キーにしているか確認して下さい。そうでない場合は、データ転送量、結合の突合せ件数を削減できる可能性があります。

＜改善案＞

  パラレルサーバで、結合検索時にネストループジョイン内表またはハッシュジョインの外表をキーレンジ分割、またはFIXハッシュ分割する場合、結合列を表の分割キーにすると、表の分割条件から、結合時の探索範囲を絞り込むことができます。

  パラレルサーバで、結合検索に使用する表をキーレンジ分割、またはFIXハッシュ分割するときには、結合列を分割キーにすることによって、転送種別を数字-CLM-HASHまたは1-CLM KEY SCANまたは1TO1にできないか検討してください。

(例)

  SELECT ＊ FROM T1, T2 WHERE T1.C1=T2.C1

    ↓

  CREATE TABLE T1 (C1 INT NOT NULL, C2 INT) IN ((USER1)C1<100, (USER2))

  CREATE TABLE T2 (C1 INT NOT NULL, C2 INT) PARTITIONED BY C1

IN ((USER1) 100, (USER2))

  「表分割の種別」の表示で、表分割の種類を確認できます。「結合方法の詳細情報：転送方法」の表示で、転送方法を確認できます。

＜注意事項＞

  結合検索に使用する表を分割するときに、フレキシブルハッシュ分割を使用すると、データの格納位置が特定できないため、結合時の探索範囲が広くなり性能が悪くなります。

  本対策は必ず性能が向上するとは限りません。表定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29992-I

＜概要＞

KFPX29992-I {info}結合検索に使用する表がフレキシブルハッシュ分割になっています。

＜指摘内容＞

表分割の種別にFELEXIBLE HASH又は、RB FELEXIBLE HASHと表示されています。

  フレキシブルハッシュ分割を使用すると、データの格納位置が特定できないため、転送方法が常に{BROADCAST}となり、並列には実行できません。

＜改善案＞

  フレキシブルハッシュ分割を使用する必要がないのであれば、FIXハッシュ分割にし、結合列を分割キーにすることをお勧めします。フレキシブルハッシュ分割とFIXハッシュ分割の違いについては、マニュアル「システム導入･設計ガイド」表の設計 を参照してください。

  「表分割の種別」の表示で、表分割の種類を確認できます。「結合方法の詳細情報：転送方法」の表示で、転送方法を確認できます。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。表定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29993-I

＜概要＞

  KFPX29993-I {info}転送方法が1TO1以外になっています。

＜指摘内容＞

「RDAREA」に1TO1以外が表示されています。

  転送方式が1TO1以外の場合、１つの転送先サーバに対し複数のサーバからデータが転送され待ち状態が発生する可能性があります。

＜改善案＞

結合検索する表の分割を等しくすることにより転送方式が1TO1になる場合があります。

  結合している表の分割を等しくして結合方式を1TO1にできないか検討してください。

  「表分割の種別」の表示で、表分割の種類を確認できます。「結合方法の詳細情報：転送方法」の表示で、転送方法を確認できます。

＜注意事項＞

  フレキシブルハッシュ分割の場合、転送方法は常にBROADCASTになります。

  本対策は必ず性能が向上するとは限りません。表定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29994-I

＜概要＞

  KFPX29994-I {info}結合方法がクロスジョインになっています。

＜指摘内容＞

「結合方法」にCROSS JOINと表示されています。

  結合方法がCROSS JOINとなっている為、結合時に内表と外表をすべて突き合わせています。

  結合時間が長くなっている可能性があります。

＜改善案＞

結合方法をNESTED LOOPS JOINまたは、SORT MERGE JOINにすることによって突合せ件数が減少し性能が向上することが有ります。

  下記に示す方法により結合方法をNESTED LOOPS JOINまたは、SORT MERGE JOINにできることがあります。

結合条件にスカラ演算を含む場合、スカラ演算なしにできないか検討してください。

必要であれば、スカラ演算なしで結合できるように表定義を見直してください。

結合条件をOR演算している場合、複数のSQLに分ける、またはOR演算の両辺に共通の結合条件を指定しているときはくくりだす等、OR演算無しにできないか検討して下さい。

（３）（１）（２）を行ったうえで、結合条件及び絞り込み条件にインデクスを定義できないか検討してください。

  （１）（２）（３）いずれの場合も、「結合方法」の表示で、結合方法を確認できます。バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名」の表示で、インデクス構成列を確認することができます。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。問合せSQL文を変更した場合は、必ず当該SQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


KFPX29995-I

＜概要＞

KFPX29995-I {info}結合方法がソートマージジョインになっています。

＜指摘内容＞

「結合方法」にSORT MERGE JOINと表示されています。

  結合方法がSORT MERGE JOINとなっている為、結合時にソートが行われています。

  結合時間が長くなっている可能性があります。

＜改善案＞

結合時のソートが不要になります。さらに、内表の検索範囲を結合条件のインデクスで絞り込めるため、性能が向上する場合があります。

  下記に示すいずれかの方法で、内表の検索範囲を絞り込める場合があります。

結合条件及び絞込条件にインデクスを定義できないか検討して下さい。

      （例）SELECT * FROM T1,T2 WHERE

T1.C3=20 AND T1.C1=T2.C1 AND T1.C2=T2.C2 AND T2.C3>10

                        ↓

            “T1.C3=20のヒット件数”＞“T2.C3>10のヒット件数”の場合

            インデクス定義T2(C1,C2,C3)を定義する。

            “T1.C3=20のヒット件数”＜“T2.C3>10のヒット件数”の場合

            インデクス定義T1(C1,C2,C3)を定義する。

      （注意事項）

インデクスの構成列数を増やしすぎると、インデクス自体を探索する時間が大きく

なります。

更新されることの多い列はインデクスのメンテナンスが発生します。できるだけ

インデクス構成列に含めないようにしてください。

          インデクスを定義する数はできるだけ少なくしてください。

（２）（１）に該当するインデクスがすでに定義されている場合は、システム定義又はクライアント環境変数の、SQL最適化オプションにネストループジョイン優先又はネストループジョイン強制を指定できないか検討して下さい。

  （１）（２）いずれの場合も、「結合方法」の表示で、結合方法を確認できます。バージョンがV05-05以降のサーバで作成したアクセスパス情報を表示している場合、「ｲﾝﾃﾞｸｽ名」の表示で、インデクス構成列を確認することができます。

＜注意事項＞

  本対策は必ず性能が向上するとは限りません。SQL最適化オプションを変更した場合は、必ず当該環境変数を用いる全てのSQLの性能を評価して変更の効果が妥当であることを確認して下さい。インデクス定義を変更した場合は、必ずシステム全体の性能を評価して変更の効果が妥当であることを確認して下さい。


メッセージ

＜この章の構成＞

メッセージの出力形式

メッセージの記述形式

メッセージ本文

他PPのメッセージ


メッセージの出力形式

メッセージはダイアログまたはメッセージウィンドウで表示されます。

（１）ダイアログ形式

[説明]

メッセージアイコン　　　　　 　: メッセージ・レベル

ＫＦＰＸ２９００５－Ｅ :メッセージＩＤ

ＨｉＲＤＢアクセスでエラーが.... : メッセージテキスト

ボタン : ユーザが入力するボタンを表示

（２）メッセージウィンドウ形式

[説明]

ＫＦＰＸ２９１０１－Ｅ :メッセージＩＤ

プロファイル((ローカルホスト))の....　: メッセージテキスト


メッセージの記述形式

MsgID-MsgLevel

メッセージテキスト

メッセージの意味を説明しています。

(S)：メッセージ出力後の、本プログラムの動作を示します。

(P)：メッセージ出力後に、ユーザがとる処置を示します。

(O)：エラー要因を示します。

MsgID ：メッセージＩＤ

MsgLevel ： メッセージの重要度を示します。

E(Error) ： エラーメッセージ

W(Warning) ： 警告メッセージ

I(Information) ： 情報メッセージ

Q(Question) ： 確認メッセージ

注：メッセージ一覧で使用する「保守員に連絡してください。」とは、当社社員、又は当社営業担当部署に連絡することを示します。


メッセージ本文

KFPX29001-E

システムエラーが発生しました。〓XXXX:YYYY

XXXX：エラー情報（コード）が表示されます。

YYYY：エラー情報（詳細）が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー情報を保守員に連絡してください。

KFPX29002-E

メモリが不足しています

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

(O)：SQL Tuning Advisor動作環境で十分なメモリの確保ができません。

KFPX29003-E

ＨｉＲＤＢクライアントライブラリが見つかりません。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDB Version 6以降のＨｉＲＤＢクライアントをインストールしてください。

(O)：(1)インストールされているＨｉＲＤＢクライアントが、HiRDB Version 5.0以前です。

(2)ファイルの内容が変更されています。

KFPX29004-E

ＨｉＲＤＢにアクセスできませんでした。(XXXX)

XXXX：ＨｉＲＤＢクライアントが返した戻り値が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、戻り値を保守員に連絡してください。

KFPX29005-E

ＨｉＲＤＢアクセスでエラーが発生しました。〓Code=XXXX:Msg=YYYY

XXXX:HiRDBのSQLCODEが表示されます。

YYYY:HiRDBのメッセージが表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBのメッセージマニュアルでエラーの原因を調べてください。

マニュアルに記載されていない非公開のメッセージは他PPのメッセージに収録しています。

SQLオブジェクト情報表示を実行したときに、HiRDBサーバまたはHiRDBクライアントのバージョンが

古い場合、このメッセージが表示されることがあります。

KFPX29006-E

内部矛盾が発生しました。〓XXXX

XXXX:矛盾内容が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー情報を保守員に連絡してください。

KFPX29007-E

ワークファイルが作成できません

(S)：[OK]ボタンの入力を待ちます。

(P)：不要なファイルを削除してください。

(O)：ディスク容量不足、作業ディレクトリ上のファイル数が多い、またはオープンされているファイルが制限を越えたときに発生します。

KFPX29008-E

HiRDBSQL Tuning Advisorは既に起動しています

(S)：[OK]ボタンの入力を待ちます。

(P)：既に起動しているHiRDB SQL Tuning Advisorを使用してください。

KFPX29009-E

HiRDB SQL Tuning Advisorが正しくインストールされていません

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDB SQL Tuning Advisorをインストールし直してください。

KFPX29010-E

KFPX29010-E SQL抽出が実行出来ません。

(S)：[OK]ボタンの入力を待ちます。

(P)：ＨｉＲＤＢクライアント（Developer's Kit）が正しくインストールされているか確認してください。

環境変数PATHが設定されているか確認してください。

KFPX29011-E

指定されたフォルダが存在しません 〓XXXX

XXXX：指定したファイル名、またはフォルダ名が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：存在するフォルダ名に変更し、実行をやり直してください。

(O)：指定されたファイル名称のパス、またはフォルダ名称が正しくない。

KFPX29012-E

指定されたファイルが存在しません〓XXXX

XXXX：指定したファイル名が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(O)：指定されたファイル名称が正しくない。

(P)：下に示す状態を確認し、実行をやり直してください。

      ・取得元ファイルのアクセス属性

      ・環境設定ダイアログで指定した書込み先のディスク容量

・環境設定ダイアログで指定した書込み先パス及びファイルのプロパティ[セキュリティ]

・SQLオブジェクト情報表示で指定したファイルの有無

KFPX29013-E

指定されたファイルの拡張子が対応していません

(S)：[OK]ボタンの入力を待ちます。

(P)：対応する拡張子を持つファイルを指定し、実行をやり直してください。

(O)：指定されたファイル名称の拡張子が当該機能に未対応。

KFPX29014-E

指定されたパスにアクセスできません。〓パス：XXXX

XXXX：指定したパス名が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：パスの存在およびアクセス権を確認してください。

(O)：以下のいずれかの状態です。

・指定されたパスが存在しない。

・指定されたパスの参照権限がない。

KFPX29015-E

SQLオブジェクト情報を取得できませんでした。〓SDS/FES : XXXX

XXXX：指定したSDS/FESサーバ名が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：ディスク容量、指定した入力値、HiRDBサーバのエラーログを確認してください。

(O)：以下のいずれかの状態です。

・ ディスク容量が不足している

・ 存在していないFES/SDSサーバ名が指定している。

・ HiRDBサーバでエラーが発生した。

KFPX29016-E

ファイルの形式が古いため解析できません

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBサーバのバージョンを確認してください。

(O)：以下のいずれかの状態です。

・ アクセスパス集計機能で、サーババージョンが07-00以前のHiRDBを使用して出力したアクセスパス情報ファイルを指定している。

KFPX29017-E

ファイルの内容が不正です〓XXXX

XXXX：指定したファイル名が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：ファイルの内容を確認してください。

(O)：以下のいずれかの状態です。

・ 一度、解析を行ったファイルに対し、書き換えが行われた。

KFPX29021-E

ｱｸｾｽﾊﾟｽ情報が作成されませんでした

(S)：[OK]ボタンの入力を待ちます。

(P)：入力されたＳＱＬおよびシステム状態を確認してください。

(O)：以下のいずれかの状態です。

・指定されたＵＡＰソースファイルまたはＳＱＬファイルにおいて

    アクセスパスが生成されるＳＱＬが存在しない。

    ・ディスク容量不足、またはオープンされているファイル数が制限を超えた。

KFPX29022-E

ファイル登録処理でエラーが発生しました[〓XXXX]

XXXX：登録指定した名称が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象ファイル指定内容を確認してください。

KFPX29023-E

ﾌﾟﾛﾌｧｲﾙで指定した接続が失敗しました。

(S)：[OK]ボタンの入力を待ちます。

(P)：プロファイル設定ダイアログで指定した内容を確認・修正し、実行をやり直してください。

KFPX29024-E

環境設定で指定されたディレクトリが存在しません。

(S)：[OK]ボタンの入力を待ちます。

(P)：環境設定ダイアログで指定した内容を確認・修正し、実行をやり直してください。

KFPX29025-E

ディレクトリの設定で異常が発生しました。〓XXXX：YYYY

XXXX：エラー情報（コード）が表示されます

YYYY：エラー情報（詳細）が表示されます

(S)：[OK]ボタンの入力を待ちます。

(P)：エラー情報を保守員に連絡してください。

KFPX29026-E

システムからプリンタ情報を受取る時に問題が発生しました。プリンタが正しく設定されているか確かめてください

(S)：[OK]ボタンの入力を待ちます。

(P)：プリンタが正しく設定されているか確認してください。

KFPX29027-E

プリンタを設定する時に問題が発生しました。プリンタが正しく設定されているか確かめてください

(S)：[OK]ボタンの入力を待ちます。

(P)：プリンタが正しく設定されているか確認してください。

KFPX29028-E

ファイル出力でエラーが発生しました。〓XXXX

XXXX：ファイル名

(S)：[OK]ボタンの入力を待ちます。

(P)：下に示す状態を確認し、実行をやり直してください。

      ・ファイルパスの存在

      ・書込み先のディスク容量

      ・書込み先パス及びファイルのプロパティ[セキュリティ]

KFPX29029-E

ワークファイルの操作でエラーが発生しました。(XXXX)(YYYY)

XXXX：状態コード

YYYY：内部コード

(S)：[OK]ボタンの入力を待ちます。

(O)：状態コードを参照し、原因を特定してください。

    状態コード：1001（作成エラー）

原因：

      ・書込み先のディスクの容量が不足している。

      ・ファイルパスが存在しない。

      ・書込み先パス及びファイルのプロパティ[セキュリティ]が書き込み不可となっている。

      ・オープンされているファイルが制限を越えている。

    状態コード：1002（書き込みエラー）

原因：

      ・書込み先のディスクの容量が不足している。

    状態コード：1101、1102（読み込みエラー）

原因：

      ・ファイルが存在しない、または壊れている。

      ・オープンされているファイルが制限を越えている。

(P)：原因に対して改善を行なってください。

      改善を行なったのちに、再度、実行してください。

      ワークファイルは、環境設定ダイアログで指定したファイルの格納先に作成します。

      環境設定ダイアログを開き、十分な容量を持つディスクを指定してください。

      ファイルパスが存在しない場合は、ディレクトリを作成してください。

      また、ファイルパスに対して書き込みを可能としてください。

      ファイルが存在しない、または壊れている場合は、画面を表示したのちにユーザが故意にファイルを消去した可能性があります。

KFPX29031-E

日付又は時刻が入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29032-E

形式不正又は範囲外の値です。(XXXX)

XXXX:問題のある項目名称

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29034-E

日付が入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29035-E

時刻が入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29038-E

対象となる行を特定してください。

(S)：[OK]ボタンの入力を待ちます。

(P)：一覧情報から参照しようとする情報を選択し、実行しなおしてください。

KFPX29040-E

ファイルが選択されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：ファイルを選択し、実行しなおしてください。

KFPX29041-E

名称が不正です。(XXXX)

XXXX:不正である項目名称

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29042-E

ﾎｽﾄ名が不正です。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29043-E

ﾕｰｻﾞIDが不正です。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29044-E

同一名が登録されています。(XXXX)

XXXX:同一である項目名称

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

(O)：同じプロファイル名称が存在する。

KFPX29045-E

指定されたﾌﾟﾛﾌｧｲﾙ名が使用されています。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象ファイルの指定を確認してください。

(O)：プロファイルを参照している対象ファイルが存在しているが、プロファイル情報の削除を行おうとした。

KFPX29046-E

対象となる項目を特定してください。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象項目を選択の上、操作してください。

KFPX29047-E

同一のﾌｧｲﾙ名が登録されています。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

(O)：同じプロファイルで同じファイル名称の対象ファイルが存在する。

KFPX29048-E

ＳＱＬが入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29049-E

ＵＡＰ名、ＵＡＰソース名、認可識別子が入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29050-E

回数が入力されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29051-E

行番号が不正です。

(S)：[OK]ボタンの入力を待ちます。

(P)：入力値を訂正し、実行しなおしてください。

KFPX29052-E

カーソル位置がメッセージ上にありません。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象を指定し、実行しなおしてください。

KFPX29053-E

カーソル位置が区切り行にあります。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象を指定し、実行しなおしてください。

KFPX29061-E

アクセスパス情報を採取できませんでした

(S)：[OK]ボタンの入力を待ちます。

(P)：入力されたＳＱＬを確認してください。

(O)：アクセスパスが生成されないＳＱＬ文の可能性があります。

KFPX29062-E

指定されたデータは本機能に対応していません。

(S)：[OK]ボタンの入力を待ちます。

(O)：指定されたデータが本機能に対応していない。

KFPX29063-E

現在の画面は本機能に対応していません。

(S)：[OK]ボタンの入力を待ちます。

(O)：現在の画面では本機能を使用できない。

KFPX29064-E

別のアプリケーションでClipboardが使用されており、解放されていません。

(S)：[OK]ボタンの入力を待ちます。

(P)：他のアプリケーションを終了してから再度実行してください。

KFPX29065-E

図を描画するためのメモリが不足しています。

(S)：[OK]ボタンの入力を待ちます。

(O)：指定されたアクセスパスのグラフィック図を描画するためのメモリが足りません。

(P)：他のアクセスパス詳細画面を閉じるか、他のアプリケーションを終了してから再度実行してください。

KFPX29066-E

指定した文字コード種別に対応しないデータがありました。

(S)：[OK]ボタンの入力を待ちます。

(O)：HiRDBサーバから取得したデータまたはファイルを解析したデータの中に、指定した文字コード種別に対応しないデータがあります。

(P)：文字コード種別の指定を確認してください。

KFPX29067-W

表示できる上限を超えたので、データが切られました。〓フィルタリングにて表示の絞込みを行ってください。

(S)：[OK]ボタンの入力を待ちます。

(O)：解析結果として表示しようとしたデータは、３５万セル以上を必要としたため、後ろの行データを表示することができません。

(P)：フィルタリングにて解析条件を指定し、表示するデータを減らしてください。

KFPX29081-I

結果は、対象ファイルを設定し、アクセスパス解析を実行し参照してください。

(S)：[OK]ボタンの入力を待ちます。

(O)：アクセスパス抽出ダイアログにて[OK]ボタンを押下し、正常に処理が終了した。

KFPX29082-I

対象データが存在しません

(S)：[OK]ボタンの入力を待ちます。

(O)：解析実行または表示の操作により新しく画面を表示しようとしたが、画面に表示するデータが存在しない。

KFPX29083-I

抽出できたＳＱＬ文がありません

(S)：[OK]ボタンの入力を待ちます。

(O)：指定されたＵＡＰソースファイルにおいて、取得できたＳＱＬが存在しない。

KFPX29084-I

条件に当てはまりません

(S)：[OK]ボタンの入力を待ちます。

(O)：アクセスパス詳細画面出力で条件に一致しないデータを読み込んだ。

KFPX29085-I

最後まで検索しました。

(S)：[OK]ボタンの入力を待ちます。

(O)：検索ダイアログで指定した文字列が、最後まで検索したが見つからなかった。

KFPX29086-I

アドバイス情報は存在しませんでした。

(S)：[OK]ボタンの入力を待ちます。

(O)：[アドバイス]実行を行ったが、指摘可能なデータがない。

KFPX29087-I

インデクス提案情報は存在しませんでした。

(S)：[OK]ボタンの入力を待ちます。

(O)：[インデクス提案]実行を行ったが、指摘可能なデータがない。

KFPX29088-I

画面を閉じてください。〓対象：XXXX

XXXX:対象となる画面の名前が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：対象となる画面を閉じ、実行しなおしてください。

KFPX29089-I

インデクス案は存在しません。

(S)：[OK]ボタンの入力を待ちます。

(O)：[インデクス提案]実行を行ったが、インデクス案が存在しない。

KFPX29091-Q

同一のファイル名が既に存在します。上書きしますか？

(S)：[はい]、[いいえ]または[キャンセル]ボタンの入力を待ちます。

(P)：[はい]の場合、存在するファイルに対し上書き保存します。

      [いいえ]の場合、ファイル選択ダイアログに戻ります。

      [キャンセル]の場合、保存処理を中断します。

KFPX29092-Q

エラーが存在します。続行しますか？

(S)：[はい]または[いいえ]ボタンの入力を待ちます。

(P)：[はい]の場合、処理を続行します。

      [いいえ]の場合、処理を中断します。

KFPX29093-Q

既存のデータを破棄します。よろしいですか？

(S)：[はい]または[いいえ]ボタンの入力を待ちます。

(P)：[はい]の場合、現在表示しているデータを消去し、解析処理を実行します。

      [いいえ]の場合、解析処理を中断します。

KFPX29101-E

ﾌﾟﾛﾌｧｲﾙ(XXXX)のYYYYのディレクトリにアクセスできません

XXXX：対象ファイルとして指定したプロファイル名称

YYYY：対象ファイルとして指定したファイル名称

(S)：処理を続行します。

(P)：指定したファイル名称に対応するディレクトリの存在およびアクセス権を確認してください。

KFPX29102-E

ﾌﾟﾛﾌｧｲﾙ(XXXX)のYYYYを取得できませんでした

XXXX：対象ファイルとして指定したプロファイル名称

YYYY：対象ファイルとして指定したファイル名称

(S)：処理を続行します。

(P)：指定したファイル名称に対応するファイルのアクセス属性を確認してください。

KFPX29103-E

ﾌﾟﾛﾌｧｲﾙ(XXXX)のYYYYのファイルが存在しません

XXXX：対象ファイルとして指定したプロファイル名称

YYYY：対象ファイルとして指定したファイル名称

(S)：処理を続行します。

(P)：指定したファイル名称に対応するファイルが存在するかを確認してください。

KFPX29104-E

ﾌﾟﾛﾌｧｲﾙ(XXXX) を開けませんでした

XXXX：対象ファイルとして指定したプロファイル名称

(S)：処理を続行します。

(P)：プロファイルの設定が正しいかを確認してください。

KFPX29105-E

XXXXが設定されていません

XXXX：環境変数名称

(S)：処理を続行します。

(P)：環境変数XXXXを設定し、実行しなおしてください。

KFPX29106-E

XXXXに設定されているディレクトリが存在しません

XXXX：環境変数名称

(S)：処理を続行します。

(P)：環境変数XXXXの設定を確認してください。

KFPX29201-E

ＨｉＲＤＢサーバのバージョンを確認してください。

(S)：[OK]ボタンの入力を待ちます。

(O)：HiRDBサーバが本機能に対応していないバージョンである。

KFPX29202-E

無効なHiRDBクライアントライブラリがインストールされています。

(S)：[OK]ボタンの入力を待ちます。

(O)：HiRDBクライアントが本機能に対応していないバージョンである。

下記に機能に対するHiRDBクライアントライブラリの前提バージョンを記します。

・アクセスパス抽出機能：バージョン07-03以降

(P)：プログラム終了後、対応するバージョンのHiRDBクライアントをインストールしてください。

KFPX29301-E

XXXXが解析できません

XXXX：解析対象ファイル名

(S)：処理を続行します。

(P)：ファイルの内容がＳＱＬトレースファイルの形式であるかを確認してください。

KFPX29302-E

XXXXが開けません

XXXX：解析対象ファイル名

(S)：処理を続行します。

(P)：ファイルが存在するかを確認してください。

(O)：ファイルが存在しない。またはオープンされているファイル数が制限を越えたとき発生します。

KFPX29303-E

メモリが確保できませんでした。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

(O)：SQL Tuning Advisor動作環境で十分なメモリの確保ができません。

KFPX29304-E

指定ファイル数が多すぎます。

(S)：[OK]ボタンの入力を待ちます。

(P)：解析対象のファイルを減らして、再度実行してください。

(O)：解析対象ファイルとして指定できる数は、ワイルドカード指定で展開されたファイルを含め、最大100迄です。

KFPX29401-E

[アクセスパス]メモリ不足が発生しました

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

(O)：SQL Tuning Advisor動作環境で十分なメモリの確保ができません。

KFPX29402-E

[アクセスパス]引数が不正です。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラムを終了し、保守員に連絡してください

KFPX29411-E

[アクセスパス]解析できませんでした。XXXX

XXXX：解析対象ファイル名

(S)：処理を続行します。

(P)：ファイルの内容がアクセスパス情報ファイルの形式であるかを確認してください。

KFPX29412-E

[アクセスパス]指定されたファイル数が制限を越えました

(S)：[OK]ボタンの入力を待ちます。

(P)：解析対象のファイルを減らして、再度実行してください。

(O)：解析対象ファイルとして指定できる数は、ワイルドカード指定で展開されたファイルを含め、最大4096迄です。

KFPX29501-E

メモリを確保できませんでした

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

(O)：SQL Tuning Advisor動作環境で十分なメモリの確保ができません。

KFPX29502-E

接続ハンドルを確保できませんでした ERROR = XXXXX.

XXXXX：ＨｉＲＤＢクライアントが返した戻り値が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

KFPX29503-E

環境変数を設定できませんでした ERROR = XXXXX.

XXXXX：ＨｉＲＤＢクライアントが返した戻り値が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：プログラム終了後、エラー要因を取り除いてください。

KFPX29504-I

接続でエラーが発生しました SQLCODE = XXXXX.

XXXXX：ＨｉＲＤＢクライアントが返した戻り値が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBのメッセージマニュアルでエラーの原因を調べてください。

KFPX29505-E

接続でエラーが発生しました SQLERRMC = XX....XX.

XX....XX: HiRDBのメッセージが表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBのメッセージマニュアルでエラーの原因を調べてください。

KFPX29506-E

ファイルをオープンできませんでした FILE=XXXX errno=YYYY.

XXXX：オープンしようとしたファイル名が表示されます。

YYYY：OSのエラー番号が表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：OSのメッセージマニュアルでエラーの原因を調べてください。

(O)：ディスク容量不足、アクセス権限違反、またはオープンされているファイルが制限を越えたときに発生します。

KFPX29507-E

SQL文でエラーが発生しました SQLTEXT = XX....XX.

XX....XX:前処理実行を行ったSQL文が表示されます。

4096文字以上のSQL文の場合、先頭から4096文字のSQL文を表示し、

後続する文字列は表示されません。

(S)：[OK]ボタンの入力を待ちます。

(P)：続けて表示される、メッセージを参照してください。

KFPX29508-E

接続でエラーが発生しました SQLCODE = XXXXX.

XXXXX：ＨｉＲＤＢクライアントが返したSQLCODEが表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBのメッセージマニュアルでエラーの原因を調べてください。

KFPX29509-E

アクセスパス情報を採取できませんでした.

(S)：処理を続行します。

(P)：アクセスパス情報ファイルの指定を見直してください。

KFPX29510-W

アクセスパス情報がありません.

XX....XX: HiRDBのメッセージが表示されます。

(S)：処理を続行します。

(P)：アクセスパス情報ファイルの指定を見直してください。

KFPX29595-E

KFPX29595-E ＨｉＲＤＢアクセスでエラーが発生しました。Code=XXXX:Msg=YYYY

XXXX:HiRDBのSQLCODEが表示されます。

YYYY:HiRDBのメッセージが表示されます。

(S)：[OK]ボタンの入力を待ちます。

(P)：HiRDBのメッセージマニュアルでエラーの原因を調べてください。

KFPX29601-I

{XXXX}検索方法が「TABLE SCAN」となっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29604-I

{XXXX}インデクスのサーチ条件が「FULL SCAN」となっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29605-I

{XXXX}インデクスの中間列が使用されていません。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29606-I

{XXXX}インデクスの第一構成列がイコール条件で使用されていません。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29608-I

{XXXX}実表検索処理にORの単独インデクス利用を適用しています。

XXXX：問合せＩＤ、問合せ種類、テーブル名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29701-I

インデクスのサーチ条件ヒット件数が抽出した件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29702-I

インデクスのサーチ条件ヒット件数がキー条件ヒット件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29703-I

複数インデクス利用(AND演算)において、インデクスを用いたヒット件数と抽出した件数が近似しています。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29704-I

複数インデクス利用(AND演算)において、インデクスを用いたヒット件数同士に開きがあります。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29705-I

左表突合せ件数が右側突合せ件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29706-I

左表突合せ件数が結合結果件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29707-I

先に処理した結合結果件数が後で処理した結合結果件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29708-I

HASH JOINにおいて、左表突合せ件数が右側突合せ件数に比べ、小さい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29709-I

グループ化する前の件数がグループ化した後の件数に比べ、かなり大きい値です。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29710-I

グループ化する前の件数とグループ化した後の件数が近似しています。

(S)：処理を続行します。

(O)：アクセスパス詳細画面表示時に、該当データが存在する。

KFPX29981-I

{XXXX}実表検索処理にANDの複数インデクス利用を適用しています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29982-I

{XXXX}実表検索処理に複数列インデクスを使用しています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29983-I

{XXXX}複数列インデクスを利用した問合せにORDER BY指定、GROUP BY指定、暗黙的GROUPBYの適用のいずれかがされています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29984-I

{XXXX}サーチ条件が存在していません。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29985-I

{XXXX}サーチ条件の第１構成列の絞り込み範囲が、MIN～MAXまでとなっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29991-I

{XXXX}パラレルサーバで結合方式がネストループジョインまたはハッシュジョインとなり、転送種別がブロードキャストになっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29992-I

{XXXX}結合検索に使用する表がフレキシブルハッシュ分割になっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29993-I

{XXXX}転送方法が1TO1以外になっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29994-I

{XXXX}結合方法がクロスジョインになっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。

KFPX29995-I

{XXXX}結合方法がソートマージジョインになっています。

XXXX：問合せＩＤ、問合せ種類、テーブル名、インデクス名を表します。

(S)：処理を続行します。

(O)：[アドバイス]実行時に、該当データが存在する。


他PPのメッセージ

l SQL Tnuning Advisorで表示される他PPのメッセージで、マニュアルに記載されていないもの。

KFPA19800-E

Output file aa…aa error occurred in EXECUTE UTL statement, errno=bb…bb

aa…aa:ファイルの操作内容

open：ファイルのオープン

write：ファイルへの書き込み

bb…bb: エラーコード

(S)：処理を中断します。

(P)：エラーコードの値を調査し、errno.h及びユーザが使用するOSのマニュアルを参照して、エラーの原因を取り除き、再実行する。

(O)：SQLオブジェクト情報の取得時にファイル出力処理でエラーが発生しました。


使用上の注意

HiRDB SQL Tuning Advisorを使用するにあたり、以下の注意点があります

・本プログラムの２重起動はできません。

・アクセスパス情報ファイル又は、ＳＱＬトレース情報ファイルを解析できるファイルのサイズ制限は２ギガバイトです。

また、複数のファイルを一度に解析した場合においては、解析結果のサイズ制限は２ギガバイトとなります。

また、システム状態により、メモリ不足等のエラーが発生する可能性があります。

・アクセスパス情報又は、SQLトレース情報を解析中にメモリ不足が発生もしくは、強制終了された場合は、フィルタリングで条件を絞り込んで下さい。

・メモリ不足が発生もしくは、強制終了された後で、OSの動作が不安定な場合は、他のアプリケーションを全て終了させてからWindowsを再起動して下さい。

・PowerUser以上の権限を持つユーザで実行してください。

・解析できる文字コードは、シフトJISコード、Unicode(UTF-8)、およびEUC日本語漢字コードです。ファイルおよびHiRDBサーバの接続情報を指定する時に、文字コードをHiRDBサーバの文字コード種別と合わせてください。

・SQLトレース集計情報画面からアクセスパス情報の表示、またはアクセスパス情報画面からSQLトレース情報の表示を行うには、事前に双方のデータを読み込んでおく必要があります。

・HiRDBが出力したアクセスパス情報ファイルのファイル名を変更すると、SQLトレース集計情報画面から該当するアクセスパス情報を表示できなくなります。

・表やテキストとして表示される情報が６５５３５行を超えた場合、スクロールバーをドラッグして表示位置を６５５３５行以降へ移動することが出来ません。６５５３５行以降へ移動するには、スクロールバーの下ボタンを押下しつづけてください。