sql >> Database >  >> RDS >> Oracle

Zijn beperkingen van externe sleutels van invloed op querytransformaties in Oracle?

Ja, het hebben van externe sleutelbeperkingen kan de queryprestaties verbeteren. Er zijn verschillende transformaties die openstaan ​​voor de optimizer wanneer er geschikte beperkingen voor refererende sleutels bestaan ​​die niet algemeen beschikbaar zijn. Als u bijvoorbeeld lid zou worden van A en B maar selecteer alleen gegevens van B , kan de optimizer A . elimineren volledig uit het queryplan als er een externe sleutelbeperking was (dit soort dingen is erg handig als u nuttige weergaven hebt die in meer tabellen worden opgenomen dan uw huidige query strikt nodig heeft, omdat u de prestatiekosten van de extra joins tegen het hergebruik van code door een bestaande weergave te gebruiken). Ze zijn ook handig wanneer u dingen doet zoals het herschrijven van query's om een ​​query te herschrijven om een ​​gematerialiseerde weergave te gebruiken in een datawarehouse/DSS-type systeem.

Tom Kyte heeft een presentatie Metadata Matters die vertelt hoe verschillende soorten beperkingen, samen met andere stukjes metadata, de optimizer kunnen beïnvloeden.



  1. Wat is de standaardbeperking in SQL Server - SQL Server / TSQL-zelfstudie, deel 90

  2. MySQL implementeren op Ubuntu en volledig beheerd

  3. SQL Server-lijsttabellen:alle tabellen weergeven

  4. MySQL LN() Functie – Retourneer de natuurlijke logaritme van een getal