sql >> Database teknologi >  >> RDS >> Oracle

Oracle View vs sammenføjning af tabeller i Oracle

Der er normalt ingen ydeevneforskel mellem en enkelt forespørgsel og en logisk ækvivalent forespørgsel, der bruger visninger.

Oracle har optimeringstransformationer, der kan kombinere visninger med den ydre forespørgsel; prædikat pushing, simpel og kompleks visningsfletning osv. Tænk på visninger mere som en tekstmakro, der bygger en stor forespørgsel, i stedet for en funktion, der returnerer rækker.

For eksempel vil Oracle i nedenstående forespørgsel sandsynligvis være smart nok til at skubbe prædikatet på den primære nøglekolonne ind i visningen. Selvom visningen i sig selv kan returnere millioner af rækker, vil Oracle, når hele forespørgslen køres, anvende prædikatet på primærnøglekolonnen først.

select *
from view_returns_millions_of_rows
where primary_key_value = 1;



  1. jooq enkelt forespørgsel med et til mange forhold

  2. Hvad er fordelen ved at bruge prøv {} catch {} versus hvis {} andet {}

  3. Node.js + MySQL - håndtering af transaktioner

  4. Fejl:Bemærk:Udefineret indeks