View vs Materialized View
Visningar och materialiserade vyer (mviews) är två typer av orakeldatabasobjekt. Båda dessa objekt hänvisar till urvalsfrågor. Dessa utvalda frågor fungerar som virtuella tabeller. Norm alt refererar vyer och mviews till stora urvalsfrågor, som har en uppsättning kopplingar. Därför är en av de största fördelarna med vyer att vi kan lagra komplexa urvalsfrågor som vyer. Därför kan vi dölja logiken bakom urvalsfrågorna från slutanvändarna. När vi behöver köra den komplexa select-satsen behöver vi bara köra
väljfrån visningsnamn
Visa
Som nämnts tidigare är view en virtuell tabell som döljer en utvald fråga. Dessa urvalsfrågor är inte förexekverade. När vi kör en select-sats från en vy, kör den select-satsen som finns inuti vykroppen. Låt oss anta att vykroppens select-sats är ett mycket komplext påstående. Så när det exekveras tar det lite tid att exekveras (relativt mer tid). Dessutom använder view mycket litet utrymme för att lagra sig själv. Det beror på att det bara har ett utv alt uttalande som innehåll.
Materialized View (Mview)
Detta är en speciell typ av vy. Mviews skapas när vi har prestandaproblem med vyer. När vi skapar en mview, kör den sin urvalsfråga och lagrar dess utdata som en ögonblicksbildstabell. När vi begär data från Mview behöver den inte köra om sin select-sats. Det ger utdata från sin ögonblicksbildstabell. Därför är exekveringstiden för mview kortare än view (för samma select-sats). Men mviews kan inte användas hela tiden, eftersom det visar samma utdata, som lagras som en ögonblicksbildstabell. Vi bör uppdatera mview för att få dess senaste resultatuppsättning.
Vad är skillnaden mellan View och Mview?
1. Mview lagrar alltid sin utdata som en ögonblicksbildstabell när den skapas, men view skapar inga tabeller.
2. View behöver inte stort utrymme för att lagra innehållet, men mview behöver relativt sett större utrymme än en vy för att lagra innehållet (som en ögonblicksbildstabell).
3. View tar längre tid att köra, men mview tar kortare exekveringstid än vyer (för samma select-sats).
4. Mviews måste uppdateras för att få den senaste informationen, men vyerna ger alltid den senaste informationen.
5. Schemat behöver "create materialized view"-privilegiet för att skapa mviews, och för vyer behöver det "create view"-privilegiet.
6. Index kan skapas på mviews för att få bättre prestanda, men index kan inte skapas på views.