SQLに対して使用/未使用のインデックスの検出や、推奨インデックスの作成を行う画面です。
| 項目名 | 説明 | |
|---|---|---|
| 解析 | SQLエディタに入力したSQL文を解析します。(実行はされません) ※F5キーを押すことでも解析を実行できます。 |
|
| 前 | 過去に実行したSQL文で、現在表示されているSQL文よりも古い履歴を呼び出します。 | |
| 次 | 過去に実行したSQL文で、現在表示されているSQL文よりも新しい履歴を呼び出します。 | |
| 履歴 | 過去に実行したSQL文の履歴を表示します。 | |
| 終了 | 画面を閉じます。 | |
| 作成するインデックス列の上限数 | 解析後、[作成するインデックス]欄に表示されるインデックスの列数の上限数を指定します。 作成するインデックスではWHERE句で使用している列がインデックスの列候補となりますが、列数が多いインデックスは使用されませんので、WHERE条件が多い場合は上限数を調整します。 |
|
| 接続 | 複数接続している場合は、SQL文を実行する接続ユーザを選択します。 | |
| データベース | SQL文を実行するデータベースを選択します。 | |
| SQLエディタ | 解析したいSQL文を入力します。 ※DDL文は無効です。DML文を入力してください。 |
解析を実行すると、SQLで参照されている各テーブルごとに以下の解析結果が表示されます。
(ビューは対象となりません)
■ 現在のインデックス
入力したSQLの対象のテーブルに付加されているインデックスが一覧表示されます。そのうち、未使用のインデックスは赤字で表示されます。右クリックにより以下のメニューが表示されます。それぞれ次の機能があります。
| 項目名 | 説明 | |
|---|---|---|
| 開く | 選択中のインデックスの定義画面を開きます。 | |
| 削除 | 選択したインデックスを削除します。 不要なインデックスだと判断したときに削除してください。 |
■ 作成するインデックス
入力したSQLで参照しているテーブルに有効なインデックス候補が表示され、実際に作成することや、テストを行うことができます。
※ここで作成するインデックスが実際に使用されるかは、列数やテーブルの統計情報に依存します。あらかじめテストを行い、コストが減る場合にインデックスを作成するようにしてください。
作成するインデックス名は規定では「IDX_テーブル名+連番」となりますが、名前を変更することも可能です。右クリックにより以下のメニューが表示されます。それぞれ次の機能があります。
| 操作 | 説明 | |
|---|---|---|
| 作成 | 選択中のインデックスを作成します。 | |
| テスト | 選択中のインデックスを作成する前と後で、パフォーマンスの比較を行います。 (内部では実際にCREATE INDEXでインデックスの作成を行い、コスト計測後、DROP INDEXでインデックスを削除します) パフォーマンス比較の指標は実行計画から算出されるコストで比較します。 |
|
| 名前の変更 | 選択中のインデックスの名前を変更します。 |