Vis vs materialiseret visning
Visninger og materialiserede visninger (mviews) er to typer oracle-databaseobjekter. Begge disse objekter henviser til udvalgte forespørgsler. Disse valgte forespørgsler fungerer som virtuelle tabeller. Normalt refererer visninger og mviews til store udvalgte forespørgsler, som har sæt sammenføjninger. Derfor er en af de største fordele ved visninger, at vi kan gemme komplekse udvalgte forespørgsler som visninger. Derfor kan vi skjule logikken bag de valgte forespørgsler fra slutbrugerne. Når vi har brug for at udføre den komplekse select-sætning, skal vi bare udføre
vælg * fra visningsnavn
Udsigt
Som nævnt tidligere er visning en virtuel tabel, der skjuler en valgt forespørgsel. Disse udvalgte forespørgsler udføres ikke på forhånd. Når vi udfører en select-sætning fra en visning, udfører den select-sætningen, der er inde i visningskroppen. Lad os antage den valgte sætning af synsorganet som en meget kompleks sætning. Så når det udføres, tager det noget tid at udføre (relativt mere tid). Derudover bruger view meget lille plads til at gemme sig selv. Det skyldes, at det kun har en valgt erklæring som indhold.
Materialiseret visning (Mview)
Dette er en særlig type visning. Mviews 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 øjebliksbillede. Når vi anmoder om data fra Mview, behøver det ikke at genudføre sit udvalgte udsagn. Det giver output fra sin snapshot-tabel. Derfor er udførelsestiden for mview kortere end visningen (for samme select-sætning). Imidlertid kan mviews ikke bruges hele tiden, da det viser den samme output, som er gemt som et snapshot-tabel. Vi skal opdatere mview for at få sit seneste resultatsæt.
Hvad er forskellen mellem View og Mview? 1. Mview gemmer altid sin output som et øjebliksbillede, når den oprettes, men visningen opretter ikke nogen tabeller. 2. Visning har ikke brug for stort plads for at gemme sit indhold, men mview har brug for relativt større plads end en visning for at gemme dets indhold (som et snapshot-tabel). 3. Visning tager større udførelsestid, men mview tager mindre udførelsestid end visninger (for den samme select-sætning). 4. Mviews skal opdateres for at få de nyeste data, men visninger giver altid de nyeste data. 5. Skemaet har brug for "opret materialiseret visning" -rettighed for at oprette mviews, og for visninger har det brug for "create view" -rettighed. 6. Indeks kan oprettes på mviews for at opnå mere ydeevne, men indeks kan ikke oprettes på visninger. |