Oracle Database SQLチューニング・ガイドのこのリリースでの変更
ここでは、Oracle Database SQLチューニング・ガイドにおける最も重要な変更点について説明します。
Oracle Database 19cリリース19.10での変更点
この項では、Oracle Databaseリリース19c, バージョン19.10のOracle Databaseチューニング・ガイドでの変更点を示します。
Oracle Databaseリリース19c, バージョン19.6では、次の初期化パラメータが新しく追加されています。
OPTIMIZER_REAL_TIME_STATISTICS
「オプティマイザの初期化パラメータについて」を参照してください
Oracle Database 19cリリース19.6での変更点
この項では、Oracle Databaseリリース19c, バージョン19.6のOracle Databaseチューニング・ガイドでの変更点を示します。
Oracle Databaseリリース19c, バージョン19.6では、次の初期化パラメータが新しく追加されています。
OPTIMIZER_SESSION _TYPE
「オプティマイザの初期化パラメータについて」を参照してください
Oracle Database 19cリリース19.1での変更点
Oracle Database 19cリリース19.1のOracle Database SQLチューニング・ガイドには、次の変更があります。
新機能
このリリースの新機能は次のとおりです。
-
SQL計画のパフォーマンス低下の自動解決
SQL計画管理は、自動ワークロード・リポジトリ(AWR)内のSQL文を検索します。最大負荷によって優先順位を付けることで、SPM展開アドバイザは使用可能なすべてのソースにある代替計画を検索し、パフォーマンスが優れた計画を自動的にSQL計画ベースラインに追加します。自動タスクはメンテナンス・ウィンドウで実行されます。
SQL計画の自動管理を参照してください。
-
SPM展開アドバイザの高頻度タスク
メンテナンス・ウィンドウ外で、1時間ごとにSPM展開アドバイザの自動タスクを実行するように構成できます。したがって、オプティマイザがよりよい実行計画を見つけて展開する機会が増えます。
「SPM展開アドバイザの高頻度自動タスクの構成」を参照してください。
-
ヒント使用状況に関するレポート
Oracle Databaseには、計画の生成時にヒントが使用されたかどうかをレポートする、ヒント使用状況レポート・メカニズムが組み込まれています。場合によっては、ヒントが使用されなかった理由(構文エラーやヒント間の競合など)がレポートに示されます。ヒント使用状況レポートは、標準の
DBMS_XPLAN
表示ファンクションを使用して生成できます。「ヒントに関するレポート」を参照してください。
-
計画の比較機能
DBMS_XPLAN.COMPARE_PLANS
ファンクションは、参照プランとテスト・プランのリストを受け取って、それらの間の相違点を強調表示します。相違の原因を識別することで、ユーザーは計画の再現性の問題を絞り込むことができます。「実行計画の比較」を参照してください。
-
リアルタイム統計
Oracle Databaseでは、従来型DML操作の実行中にリアルタイム統計を自動的に収集できます。これらの統計によって、
DBMS_STATS
ジョブによって収集された標準統計が増強されます。「リアルタイム統計」を参照してください。
-
高頻度自動オプティマイザ統計収集
この軽量タスクは、定期的に失効したオブジェクトの統計を収集します。デフォルトの間隔は15分です。自動統計収集ジョブとは対照的に、高頻度タスクでは、存在しないオブジェクトの統計のパージやオプティマイザ統計アドバイザの起動などのアクションが実行されません。
「高頻度自動オプティマイザ統計収集の構成」を参照してください。
-
統計メンテナンスの拡張機能
パーティションの移動操作、マージ操作および結合操作では、グローバル統計とパーティション・レベルの統計の両方が維持されます。
「オンライン統計収集」を参照してください。
-
開発者向けのリアルタイムSQL監視
SELECT_CATALOG_ROLE
がないデータベース・ユーザーは、そのユーザーのSQL文について、実行計画やパフォーマンス・メトリックなどを含むSQL監視レポートを生成および表示できます。「SQL監視レポートの生成とアクセス」を参照してください。
-
ランナウェイSQL文の隔離
Oracle Databaseは、リソースの制限を超えたためにOracle Database Resource Manager (Resource Manager)によって終了されたSQL文の計画を自動的に隔離します。その計画を「ブラックリスト」に登録することで、大量にリソースを消費する文が再度実行されないようにします。
「隔離されたSQL計画について」を参照してください。
-
自動索引付け
自動バックグラウンド・タスクによって、システムのワークロードを監視し、そのワークロードの文に適した索引を作成して保持します。データベースは、索引のパフォーマンスへの影響を検証して、常にパフォーマンスが最大になるように、その決定を維持または変更します。たとえば、索引によって問合せのパフォーマンスが大幅に向上するときには、データベースは文の述語で使用されている列に索引を作成することがあります。
「自動索引付け」を参照してください。
関連項目:
各種エディションおよびサービスでサポートされる機能の詳細は、『Oracle Databaseライセンス情報ユーザー・マニュアル』を参照
その他の変更
このトピックでは、このリリースにおけるその他の変更点について説明します。
SQLテスト・ケース・ビルダーに関する章は、『Oracle Database管理者ガイド』の診断機能のコンテンツに統合されました。
Oracle Database 18cリリース18.1での変更点
Oracle Database 18cリリース18.1のOracle Database SQLチューニング・ガイドには、次の変更があります。
新機能
このリリースの新機能は次のとおりです。
-
プライベート一時表
プライベート一時表は、トランザクションまたはセッションの終了時に自動的に削除される一時データベース・オブジェクトです。プライベート一時表はメモリーに格納され、それを作成したセッションにのみ表示されます。プライベート一時表は、一時表の有効範囲をセッションまたはトランザクションに制限するため、アプリケーション・コードの柔軟性が高くなり、コードのメンテナンスが容易になって、すぐに使用できる機能も向上します。
「グローバル一時表のセッション固有統計」を参照してください。
-
上位N個近似問合せ処理
従来の問合せよりも高速に「上位n」の問合せ結果を取得するには、
APPROX_RANK
でAPPROX_SUM
およびAPPROX_COUNT
のSQL関数を使用します。近似問合せ処理についてを参照してください。
-
Oracle Exadata Database MachineのSQLチューニング・アドバイザの機能拡張
SQLチューニング・アドバイザは、Exadata対応SQLプロファイルを推奨できます。Oracle Exadata Database Machineでは、スマート・スキャンのコストは、システム統計I/Oシーク時間(
ioseektim
)、マルチブロック読取りカウント(mbrc
)およびI/O転送速度(iotfrspeed
)によって異なります。これらの統計の値は、通常はExadataで異なるため、計画の選択に影響を与えることがあります。システム統計が失効している場合や、統計を収集するとパフォーマンスが向上する場合、SQLチューニング・アドバイザは、Exadata対応SQLプロファイルを受け入れることを推奨します。統計分析とSQLプロファイルの統計を参照してください。
-
SQLチューニング・セットを管理するための新しいパッケージ
SQLチューニング・セットの他の操作すべてを作成、変更、削除および実行する際に、
DBMS_SQLTUNE
のかわりにDBMS_SQLSET
を使用できます。SQLチューニング・セットへのコマンドライン・インタフェースを参照してください。
-
スケーラブルな順序
順序値をキーとして使用する表にデータをロードするときは、スケーラブルな順序を使用すると索引リーフ・ブロック競合が緩和されます。
-
パフォーマンス・フィードバックから
OPTIMIZER_ADAPTIVE_STATISTICS
を分離以前のリリースと異なり、
OPTIMIZER_ADAPTIVE_STATISTICS
初期化パラメータをTRUE
またはFALSE
に設定して、パフォーマンス・フィードバックには影響しなくなりました。