Pogled proti materializiranemu pogledu
Pogledi in materializirani pogledi (mviews) sta dve vrsti objektov baze podatkov oracle. Oba predmeta se nanašata na izbrane poizvedbe. Te izbrane poizvedbe delujejo kot navidezne tabele. Običajno se pogledi in mviewi nanašajo na velike izbrane poizvedbe, ki imajo niz združitev. Zato je ena glavnih prednosti pogledov, da lahko zapletene izbrane poizvedbe shranimo kot poglede. Zato lahko pri končnih uporabnikih skrijemo logiko za izbranimi poizvedbami. Ko moramo izvršiti zapleteni stavek select, moramo le izvršiti
izberite * iz imena pogleda
Pogled
Kot smo že omenili, je pogled navidezna tabela, ki skriva izbrano poizvedbo. Te izbrane poizvedbe niso vnaprej izvedene. Ko izvedemo stavek select iz pogleda, ta izvrši stavek select, ki je znotraj telesa pogleda. Predpostavimo, da je izbrana izjava telesa pogleda zelo zapletena. Torej, ko se izvede, traja nekaj časa, da se izvede (razmeroma več časa). Poleg tega pogled za shranjevanje uporablja zelo majhen prostor. To je zato, ker ima za vsebino le izbrano izjavo.
Materializirani pogled (Mview)
To je posebna vrsta pogleda. Mviewi se ustvarijo, ko imamo težave s predstavami. Ko ustvarimo mview, ta izvede svojo poizvedbo za izbiro in shrani svoj izhod kot tabelo posnetkov. Ko od Mview zahtevamo podatke, mu ni treba znova izvršiti izjave select. Daje rezultate iz tabele posnetkov. Zato je čas izvajanja mview krajši od pogleda (za isti izbrani stavek). Vendar pa mviews ni mogoče uporabljati ves čas, saj prikazuje enak izhod, ki je shranjen kot tabela posnetkov. Morali bi osvežiti mview, da dobimo njegov zadnji rezultat.
Kakšna je razlika med Viewom in Mviewom? 1. Mview ob ustvarjanju vedno shrani izhodne podatke kot tabelo posnetkov, pogled pa ne ustvari tabel. 2. Pogled ne potrebuje velikega prostora za shranjevanje vsebine, toda mview potrebuje sorazmerno večji prostor kot pogled za shranjevanje vsebine (kot tabela posnetkov). 3. Pogled traja daljši čas izvedbe, toda mview traja manjši čas izvedbe kot pogledi (za isti izbrani stavek). 4. Mviewe je treba osvežiti, da dobite najnovejše podatke, vendar pogledi vedno dajo svoje najnovejše podatke. 5. Shema potrebuje privilegij "ustvari materializiran pogled" za ustvarjanje mviewov, za poglede pa privilegij "ustvari pogled". 6. Kazalo je mogoče ustvariti v mviewih, da dosežete večjo zmogljivost, indeksov pa ni mogoče ustvariti na pogledih. |