Ja, Fremdschlüsseleinschränkungen können die Abfrageleistung verbessern. Es gibt verschiedene Transformationen, die dem Optimierer offen stehen, wenn geeignete Fremdschlüsseleinschränkungen vorhanden sind, die nicht allgemein verfügbar sind. Zum Beispiel, wenn Sie A
beitreten würden und B
aber nur Daten aus B
auswählen , könnte der Optimierer A
eliminieren vollständig aus dem Abfrageplan entfernen, wenn eine Fremdschlüsseleinschränkung vorhanden war (so etwas ist sehr praktisch, wenn Sie nützliche Ansichten haben, die mehr Tabellen zusammenführen, als Ihre aktuelle Abfrage unbedingt benötigt, da Sie die nicht austauschen müssen Leistungskosten der zusätzlichen Joins gegenüber der Wiederverwendung von Code durch die Verwendung einer vorhandenen Ansicht). Sie sind auch praktisch, wenn Sie Dinge wie das Umschreiben von Abfragen verwenden, um eine Abfrage neu zu schreiben, um eine materialisierte Ansicht in einem Data Warehouse/DSS-System zu verwenden.
Tom Kyte hat eine Präsentation Metadata Matters, die darüber spricht, wie verschiedene Arten von Einschränkungen zusammen mit anderen Metadaten den Optimierer beeinflussen können.