Diferența dintre vizualizare și vizualizare materială

Vizualizare vs Vizualizare materializată

Vizualizările și vizualizările materializate (mviews) sunt două tipuri de obiecte baze de date Oracle. Ambele obiecte se referă la interogări selectate. Aceste interogări selectate acționează ca tabele virtuale. Vizualizările și mview-urile standard se referă la interogări mari de selectare, care au un set de conexiuni. Prin urmare, unul dintre principalele avantaje ale vizualizărilor este că putem stoca interogări selectate complex ca vizualizări. Prin urmare, putem ascunde logica din spatele interogărilor selectate de la utilizatorii finali. Când trebuie să executăm instrucțiunea select complex, trebuie doar să executăm

                      selectați * din vizualizare

Vedere

Așa cum am menționat anterior, vizualizarea este o tabelă virtuală, care ascunde o interogare selectată. Aceste interogări de selecție nu sunt executate în prealabil. Atunci când executăm o instrucțiune selectată dintr-o vizualizare, ea execută instrucțiunea select care se află în interiorul corpului de vizualizare. Să presupunem că declarația selectată a corpului de vedere este o declarație foarte complexă. Deci, atunci când este executat, este nevoie de ceva timp pentru a executa (relativ mai mult timp). În plus, vizualizarea folosește un spațiu foarte mic pentru a se stoca. Aceasta se datorează faptului că are doar o mențiune selectată ca fiind conținutul său.

Vizualizare materializată (Mview)

Acesta este un tip special de vedere. Imaginile MV sunt create atunci când avem probleme de performanță cu vederi. Atunci când creăm un mview, execută interogarea selectată și stochează ieșirea ca tabel de instantanee. Când solicităm date de la Mview, nu este nevoie să executăm din nou instrucțiunea selectată. Oferă ieșirea din tabelul instantaneu. Prin urmare, timpul de execuție al mview este mai mic decât vizualizarea (pentru aceeași instrucțiune selectată). Cu toate acestea, mview-urile nu pot fi folosite tot timpul, deoarece arată aceeași ieșire, care este stocată ca o tabelă instantanee. Ar trebui să reîmprospătăm mview-ul pentru a obține ultimul set de rezultate.

Care e diferenta dintre Vizualizați și Mview?

1. Mview își stochează întotdeauna ieșirea ca tabel instantaneu atunci când este creată, însă vizualizarea nu creează tabele.

2. Vizualizarea nu are nevoie de spațiu mare pentru stocarea conținutului său, dar mview necesită un spațiu relativ mai mare decât o vizualizare pentru stocarea conținutului său (ca tabel instantaneu). 

3. Vizualizarea durează un timp de execuție mai mare, dar mview are un timp de execuție mai mic decât vizualizările (pentru aceeași instrucțiune select).

4. Mview-urile trebuie să fie actualizate pentru a obține cele mai recente date, dar vizualizările oferă întotdeauna cele mai recente date.

5. Schema are nevoie "A crea vizualizare materializată" privilegiul de a crea mview-uri, și de opinii, are nevoie "Creați vizualizare" privilegiu.

6. Indexurile pot fi create pe mview-uri pentru a obține mai multă performanță, dar indexurile nu pot fi create în vizualizări.