SQLに対して使用/未使用の未使用のインデックスの検出や、推奨インデックスの作成を行う画面です。
| 項目名 | 説明 | |
|---|---|---|
| 解析 | ィタに入力したSQL文を解析します。(実行はされません。) | |
| 前 | したSQL文で、現在表示されているSQL文よりも古い履歴を呼び出します。 | |
| 次 | したSQL文で、現在表示されているSQL文よりも新しい履歴を呼び出します。 | |
| 履歴 | したSQL文の履歴を表示します。 | |
| 終了 | ます。 | |
| データベース | 実行するデータベースを選択します。 | |
| 作成する インデックス列の 上限数 |
解析後、[作成するインデックス]欄に表示されるインデックスの列数の上限数を指定します。 作成するインデックスではWHERE句で使用している列がインデックスの列候補となりますが、列数が多いインデックスは使用されませんので、WHERE条件が多い場合は上限数を調整します。 |
|
| SQLエディタ | SQL文を入力します。DDL文は無効です。DML文を入力してください。 | |
| バインド変数 リスト |
バインド変数を含むSQL文を実行した際に表示されます。 変数毎にデータ型/値をセットした後に再度[実行]ボタンを押すことで、SQL文が実行されます。 ※扱えるデータ型については■データ型についての注意点」の説明をご覧下さい。 |
解析を実行すると、SQLで参照されている各テーブルごとに以下の解析結果が表示されます。(ビューは対象となりません。)
■ [バインド変数]グリッド
実行したSQL文にバインド変数が使用されていた場合、バインド変数グリッドが表示されます。
バインド変数は「:VALUE」の様に、「:(セミコロン)」を付けて記述した場合にバインド変数と認識されます。
バインド変数グリッドを設定した後、[実行]をクリックする事で結果を表示できます。
| 項目名 | 説明 |
|---|---|
| バインド変数名 | バインド変数名が表示されます。 |
| 値 | 変数の値を入力します。 |
| 型 | 項目の型を指定します。 |
■ 現在のインデックス
各テーブルに紐づくインデックスと、そのSQLに対する使用状況が表示されます。
使用されていないインデックスは赤で表示されます。
インデックスを選択し、削除ボタンを押すことでインデックスを削除することが出来ます。
インデックスをダブルクリックすると開きます。
右クリックにより以下のメニューが表示され、次の機能があります。
| 項目名 | 説明 | |
|---|---|---|
| 開く | 選択中のインデックスの定義画面を開きます。 | |
| 削除 | 選択したインデックスを削除します。不要なインデックスだと判断したときに削除してください。 |
■ 作成するインデックス
SQLに対し、作成が推奨されるインデックスが表示されます。
既に同じ列に対して作成済みのインデックスが存在する場合は、グレーで表示されます。
選択して作成ボタンを押すか、右クリックメニューより作成を選択することで、
そのインデックスを作成することが可能です。
※ここで作成するインデックスが実際に使用されるかは、列数やテーブルの統計情報にも影響しますので、必ずしも使用されるとは限りません。
あらかじめテストを行い、コストが減る場合にインデックスを作成するようにしてください。
作成するインデックス名は規定では「IDX_テーブル名+連番」となりますが、名前を変更することも可能です。右クリックにより以下のメニューが表示されます。それぞれ次の機能があります。
| 項目名 | 説明 | |
|---|---|---|
| 作成 | 選択中のインデックスを作成します 。 | |
| テスト | 選択中のインデックスを作成する前と後で、パフォーマンスの比較を行います。(内部では実際にCREATE INDEXでインデックスの作成を行い、コスト計測後、DROP INDEXでインデックスを削除します。)パフォーマンス比較の指標は実行計画から算出されるコストで比較します。 ※SQLがルールベースで実行される場合は使用できません。 |
|
| 名前の変更 | 選択中のインデックスの名前を変更します 。 |