6 TimesTen索引アドバイザの使用
SQL Developerでは、TimesTen索引アドバイザをサポートしており、SQLワークロードを評価して索引を推奨します。TimesTen索引アドバイザの推奨する索引によって、次のパフォーマンスを向上させることができます: 結合、単独表スキャンおよびORDER BY
またはGROUP BY
の操作。TimesTen索引アドバイザでは、現行の接続またはデータベース全体の索引情報を収集できます。
ノート:
SQL Developerでは、プロシージャを使用して、TimesTen索引アドバイザから索引を推奨します。TimesTen索引アドバイザの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドの索引アドバイザを使用した索引の推奨を参照してください。
TimesTen索引アドバイザを使用する前に、Oracle TimesTen In-Memory Databaseリリース11.2.2.4 (以上)を使用していることを確認してください。
この章では、TimesTen索引アドバイザの使用方法について説明します。この項の内容は次のとおりです。
接続レベルでの取得
TimesTen索引アドバイザでデータを取得する前に、表の統計が過去24時間以内に更新されていることを確認してください。最新の表の統計によってデータ収集のための最新の統計が得られ、最適化された問合せ計画に基づく文を準備できます。表の統計の更新の詳細は、「問合せオプティマイザで使用される表および列の統計の更新」を参照してください。
接続レベルでTimesTen索引アドバイザ用データを取得する方法は2つあります。
SQLワークシート
SQL Developer SQLワークシートにより、接続レベルでTimesTen索引アドバイザ用データを取得できます。SQLワークシートが、SQL Developer SQLワークシート内にあることを確認してください。
Oracle BIサーバーのオプティマイザ・ヒントをSQLワークシートに含める
トランザクション・レベルのオプティマイザ・ヒントを使用して、TimesTen問合せオプティマイザに特定の実行計画を生成するよう指示します。
ノート:
オプティマイザ・ヒントの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのオプティマイザ・ヒントを使用した実行計画の変更を参照してください。
トランザクション・レベルのオプティマイザ・ヒントを使用する前に、「SQLワークシート」のステップ4までを完了してください。オプティマイザ・ヒントを使用する場合は、DDL文をまったく使用しないか、SQLワークロードでAUTOCOMMIT
モードを有効にします。
Oracle BIサーバーのオプティマイザ・ヒントを使用するには、次の手順を実行します。
SQLワークロード・スクリプト
SQLワークロード・スクリプト・ファイルのSQL問合せを使用して、接続レベルでTimesTen索引アドバイザ用データを取得できます。SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。
Oracle BIサーバーのオプティマイザ・ヒントをSQLワークロード・スクリプトに含める
トランザクション・レベルのオプティマイザ・ヒントを使用して、TimesTen問合せオプティマイザに特定の実行計画を生成するよう指示します。
ノート:
トランザクション・レベルのオプティマイザ・ヒントの詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのオプティマイザ・ヒントを使用した実行計画の変更を参照してください。
トランザクション・レベルのオプティマイザ・ヒントを使用する前に、「SQLワークロード・スクリプト」のステップ8までを完了してください。オプティマイザ・ヒントを使用する場合は、DDL文をまったく使用しないか、SQLワークロードでAUTOCOMMIT
モードを有効にします。
Oracle BIサーバーのオプティマイザ・ヒントを使用するには、次のステップを実行します。
データベースレベルでの取得
TimesTen索引アドバイザでデータを取得する前に、表の統計が過去24時間以内に更新されていることを確認してください。最新の表の統計によってデータ収集のための最新の統計が得られ、最適化された問合せ計画に基づく文を準備できます。表の統計の更新の詳細は、「問合せオプティマイザで使用される表および列の統計の更新」を参照してください。
また、TimesTen接続ユーザーにADMIN
権限を付与していることも確認してください。GRANT
SQL文の詳細は、Oracle TimesTen In-Memory Database SQLリファレンスのGRANTを参照してください。
データベース・レベルでTimesTen索引アドバイザ用のデータを収集するには、SQL Developerのメイン・ページを開き、TimesTen接続が展開されていることを確認します。
索引推奨項目の保存
次のステップは、今後の参照のために検索推奨項目を保存する方法を説明しています。このステップは、データベース・レベルでの取得ではデータベースレベルでの取得、接続レベルでの取得ではSQLワークロード・スクリプトで有効です。