Diferența dintre vizualizare și vizualizare materializată

Anonim

Vedere vs. Vizualizare materializată

selectați * din vizualizarea

Vizualizați

După cum sa menționat anterior, vizualizați este un 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 vizualizare. 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 pentru a obține ultimul set de rezultate.

Care este diferența dintre Vizualizare ș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 are 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. Vizualizările MV trebuie să fie actualizate pentru a obține cele mai recente date, dar vizionările oferă întotdeauna cele mai recente date.

5. Schema are nevoie de privilegiul "să creeze vizualizarea materializată" pentru a crea mview-uri, iar pentru vizualizări este nevoie de privilegiul "crea vizualizare".

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