クエリ最適化

クエリ最適化

Oracle Database 18cには、パフォーマンスを最大限に引き出す強力なクエリ最適化機能が数多く搭載されており、安定した計画のためのイノベーションを提供することで、DBAの生産性を向上させます。

The Oracle Query Optimizer

オプティマイザは、すべての SQL 文の処理に不可欠であるため、Oracle Database の最も重要なコンポーネントの1つです。オプティマイザは、クエリの構造、基盤となるオブジェクトに関する利用可能な統計情報、およびすべての関連するオプティマイザと実行機能に基づいて、各 SQL 文に対して最も効率的な実行計画を決定します。

適応型クエリ最適化

適応型クエリ最適化は、オプティマイザが実行計画を実行時に調整し、より良い統計情報につながる追加情報を検出できるようにする一連の機能です。このアプローチは、既存の統計情報が最適な計画を生成するには不十分な場合に非常に役立ちます。適応型クエリ最適化には、2つの異なる側面があります。適応型計画は、クエリの最初の実行の改善に重点を置き、適応型統計は、その後の実行を改善するための追加情報を提供します。

SQL計画管理

SQL計画管理は、オプティマイザが実行計画を自動的に管理できるようにするメカニズムであり、データベースが既知または検証済みの計画のみを使用することを保証します。

SQL計画管理におけるオプティマイザの主な目的は以下になります。

  • 繰り返し実行可能なSQL文の識別
  • 一連のSQL文の計画履歴(場合によってはSQL計画ベースライン)の保守
  • 計画履歴にない計画の検出
  • SQL計画パイプラインにない、より適切な計画の可能性の検出

オプティマイザ統計

SQL計画管理は、オプティマイザが実行計画を自動的に管理できるようにするメカニズムであり、データベースが既知または検証済みの計画のみを使用することを保証します。

SQL計画管理におけるオプティマイザの主な目的は以下になります。

  • 繰り返し実行可能なSQL文の識別
  • 一連のSQL文の計画履歴(場合によってはSQL計画ベースライン)の保守
  • 計画履歴にない計画の検出
  • SQL計画パイプラインにない、より適切な計画の可能性の検出

クエリ・オプティマイザに関するドキュメント

オプティマイザの役割は、各 SQL 文に対して最適な実行計画を決定することです。オプティマイザの役割は、各 SQL 文に対して最適な実行計画を決定することです。 オプティマイザの概要、オプティマイザの使用法、オプティマイザのコンポーネント、アクセス・パス、オプティマイザ統計、オプティマイザ・ヒントについては、「データベースの概念」を参照してください。クエリ・オプティマイザの基本、オプティマイザ統計、オプティマイザ・コントロールに関するより詳細なドキュメントは、「SQL チューニング・ガイド」を参照してください。オプティマイザに関するドキュメントは、「データベース・パフォーマンス・チューニング・ガイド」にも記載されています。

SQLチューニング・ガイド

データベース・パフォーマンス・チューニング・ガイド

データシート、プレゼンテーション、オンライン・チュートリアル、デモなど、さまざまな資料でOracle Query Optimizationの詳細をご覧ください。