SQL計画ベースラインの管理

SQL計画管理は、データベースで既知の計画または確認済の計画のみが使用されるようにオプティマイザで実行計画を自動的に管理する予防的なメカニズムです。このコンテキストでは、計画には、オプティマイザが実行計画を再生成する必要のあるすべての計画に関連する情報が含まれています。

SQL計画管理は、SQL計画ベースラインを使用します。SQL計画ベースラインは、SQL文に対してオプティマイザを使用できる一連の確定済の計画です。通常のユースケースの場合、データベースが計画の正常な実行を検証した後のみ、計画がSQL計画ベースラインに確定されます。

SQL計画管理は、計画の変更によって発生するSQLパフォーマンスの低下を回避します。新しいオプティマイザ統計、初期化パラメータの変更、データベースのアップグレードなどのイベントによって、実行計画に変更が発生する場合があります。これらの変更によって、SQLのパフォーマンスが低下する可能性があり、このようなパフォーマンスの低下を手動で修正することは困難であり、時間もかかります。SQL計画ベースラインによって、データベースで発生する変更に関係なく、SQL文のパフォーマンスが保持されます。SQL計画管理は、パフォーマンスを向上する計画の変更のみを検証および確定して、そのような変更に適応します。

SQL計画の自動的な取得または計画の手動のロードにより、SQL計画管理で計画を認識します。計画の展開は、オプティマイザが新しい計画を検証して既存のSQL計画ベースラインに追加するプロセスです。この項では、次の項目について説明します。

参照: