はい、外部キー制約を設定すると、クエリのパフォーマンスを向上させることができます。一般的に利用できない適切な外部キー制約が存在する場合、オプティマイザに開かれたさまざまな変換があります。たとえば、A
に参加する場合 およびB
ただし、B
からのみデータを選択してください 、オプティマイザはA
を削除できます 外部キー制約が設定されている場合は、クエリプランから完全に取得します(この種の機能は、現在のクエリが厳密に必要とするよりも多くのテーブルに結合する有用なビューがある場合に非常に便利です。既存のビューを使用することによるコードの再利用に対する追加の結合のパフォーマンスコスト)。また、クエリの書き換えなどを使用してクエリを書き換え、データウェアハウス/DSS型システムでマテリアライズドビューを使用する場合にも便利です。
Tom Kyteは、他のメタデータとともに、さまざまなタイプの制約がオプティマイザーにどのように影響するかについて説明する「メタデータの問題」というプレゼンテーションを行っています。