Vizualizare vs Vizualizare materializată
Vizualizări și vizualizări materializate (mviews) sunt două tipuri de obiecte de bază de date Oracle. Ambele obiecte se referă la interogări selectate. Aceste interogări selectate acționează ca tabele virtuale. În mod normal, vizualizările și vizualizările se referă la interogări selectate mari, care au un set de îmbinări. Prin urmare, unul dintre principalele avantaje ale vizualizărilor este că putem stoca interogări selectate complexe ca vizualizări. Prin urmare, putem ascunde logica din spatele interogărilor selectate de la utilizatorii săi finali. Când trebuie să executăm instrucțiunea complex select, trebuie doar să executăm
selectațidin numele vizualizării
Vizualizare
După cum am menționat anterior, vizualizarea este un tabel virtual, care ascunde o interogare selectată. Aceste interogări selectate nu sunt pre-executate. Când executăm o instrucțiune select dintr-o vizualizare, aceasta execută instrucțiunea select care se află în corpul vizualizării. Să presupunem că declarația select a corpului vederii este o declarație foarte complexă. Deci, atunci când este executat, este nevoie de ceva timp pentru a se executa (relativ mai mult timp). În plus, vizualizarea folosește spațiu foarte mic pentru a se stoca. Acest lucru se datorează faptului că are doar o declarație select ca conținut.
Vizualizare materializată (Mview)
Acesta este un tip special de vedere. Vizualizările sunt create atunci când avem probleme de performanță cu vizualizările. Când creăm un mview, acesta își execută interogarea de selectare și își stochează rezultatul ca un tabel instantaneu. Când solicităm date de la Mview, nu este nevoie să-și execute din nou instrucțiunea select. Oferă rezultatul din tabelul său instantaneu. Prin urmare, timpul de execuție a mview este mai mic decât view (pentru aceeași instrucțiune select). Cu toate acestea, mviews nu poate fi folosit tot timpul, deoarece arată aceeași ieșire, care este stocată ca un tabel instantaneu. Ar trebui să reîmprospătăm mview-ul pentru a obține cel mai recent set de rezultate.
Care este diferența dintre View și Mview?
1. Mview își stochează întotdeauna rezultatul ca un tabel instantaneu atunci când este creat, dar vizualizarea nu creează niciun tabel.
2. View nu are nevoie de spațiu mare pentru a-și stoca conținutul, dar mview are nevoie de spațiu relativ mai mare decât o vizualizare pentru a-și stoca conținutul (sub formă de tabel instantaneu).
3. Vizualizarea durează mai mult timp de execuție, dar mview durează mai puțin timp de execuție decât vizualizările (pentru aceeași instrucțiune select).
4. Vizualizările trebuie să fie reîmprospătate pentru a obține cele mai recente date, dar vizualizările oferă întotdeauna cele mai recente date.
5. Schema are nevoie de privilegiul „creare vizualizare materializată” pentru a crea mviews, iar pentru vizualizări, are nevoie de privilegiul „creare vizualizare”.
6. Indecșii pot fi creați în vizionari pentru a obține mai multă performanță, dar nu pot fi creați pentru vizualizări.