sql >> Databasteknik >  >> RDS >> Oracle

Oracle View vs att gå med i tabeller i Oracle

Det finns vanligtvis ingen prestandaskillnad mellan en enskild fråga och en logiskt likvärdig fråga som använder vyer.

Oracle har optimeringstransformationer som kan kombinera vyer med den yttre frågan; predikat pushing, enkel och komplex vysammanfogning, etc. Tänk på vyer mer som ett textmakro som bygger en stor fråga, istället för en funktion som returnerar rader.

Till exempel, i frågan nedan skulle Oracle förmodligen vara smart nog att trycka in predikatet på primärnyckelkolumnen i vyn. Även om vyn i sig själv kan returnera miljontals rader, när hela frågan körs kommer Oracle att tillämpa predikatet på primärnyckelkolumnen först.

select *
from view_returns_millions_of_rows
where primary_key_value = 1;



  1. sammanfogade tabellrader till kolumner med kolumntitlar från ursprungliga rader

  2. Flera Infoga uttalanden i MySQL Case

  3. Hur man ändrar datumformat i Oracle-databasen

  4. Är du sorterad? Tips angående T-SQL-fönsterbeställning