Forskel mellem visning og materialiseret visning
Vis vs Materialiseret visning
vælg * fra visningsnavn
Vis
Som nævnt før er visning et virtuelt bord, der gemmer en markeret forespørgsel. Disse udvalgte forespørgsler udføres ikke før. Når vi udfører en valgt sætning fra en visning, udfører den den valgte sætning, der er inde i visningslegemet. Lad os antage udsagnsvalgets valgte erklæring som en meget kompleks udtalelse. Så når det udføres, tager det lidt tid at udføre (relativt mere tid). Desuden bruger visningen meget lille plads til at gemme sig selv. Det skyldes, at det kun har en valgt erklæring som dens indhold.
Materialiseret visning (Mview)
Dette er en særlig type visning. Visninger oprettes, når vi har præstationsproblemer med visninger. Når vi opretter en mview, udfører den sin valgte forespørgsel og gemmer dens output som et snapshot-bord. Når vi anmoder om data fra Mview, behøver det ikke at genudføre dets valgte sætning. Det giver output fra sin snapshot bord. Derfor er eksekveringstiden for mview mindre end visning (for samme valgopgørelse). Imidlertid kan mviews ikke bruges hele tiden, da det viser det samme output, som er gemt som en snapshot-tabel. Vi skal opdatere mview for at få sit seneste resultat sæt.
Hvad er forskellen mellem Vis og Mview ? 1. Mview lagrer altid sin produktion som et snapshot-bord, når det oprettes, men visning skaber ikke nogen tabeller. 2. View har ikke brug for stort rum til at gemme indholdet, men mview har brug for relativt større plads end en visning for at gemme indholdet (som et snapshot-bord). 3. Visningen tager større eksekveringstid, men mview tager mindre eksekveringstid end visninger (for den samme valgte sætning). 4. Mviews skal opdateres for at få de nyeste data, men visninger giver altid sine nyeste data. 5. Skemaet kræver "skabe materialiseret visning" privilegium for at oprette mviews, og for visninger har det brug for "skabe visning" privilegium. 6. Indekser kan oprettes på mviews for at få mere ydeevne, men indekser kan ikke oprettes på visninger. |