View vs materialized View
Näkymät ja materialisoidut näkymät (mviews) ovat kahden tyyppisiä Oracle-tietokantaobjekteja. Molemmat objektit viittaavat valittuihin kyselyihin. Nämä valintakyselyt toimivat virtuaalisina taulukoina. Yleensä näkymät ja mviews viittaavat suuriin valintakyselyihin, joissa on joukko liitoksia. Siksi yksi näkymien tärkeimmistä eduista on, että voimme tallentaa monimutkaisia valintakyselyitä näkyminä. Näin ollen voimme piilottaa valittujen kyselyiden takana olevan logiikan sen loppukäyttäjiltä. Kun meidän on suoritettava monimutkainen valintalause, meidän on vain suoritettava
valitsenäkymän nimestä
Katso
Kuten aiemmin mainittiin, näkymä on virtuaalinen taulukko, joka piilottaa valintakyselyn. Näitä valintakyselyjä ei suoriteta valmiiksi. Kun suoritamme valintalauseen näkymästä, se suorittaa näkymän rungon sisällä olevan select-käskyn. Oletetaan, että näkymärungon select-lause on erittäin monimutkainen lause. Joten kun se suoritetaan, sen suorittaminen kestää jonkin aikaa (suhteellisesti enemmän aikaa). Lisäksi näkymä käyttää hyvin pientä tilaa itsensä säilyttämiseen. Tämä johtuu siitä, että sen sisältönä on vain valittu lauseke.
Materialisoitu näkymä (Mview)
Tämä on erityinen näkymä. Mview-näkymät luodaan, kun näkymien kanssa on suorituskykyongelmia. Kun luomme mview-näkymän, se suorittaa valintakyselynsä ja tallentaa tulostensa tilannekuvataulukkona. Kun pyydämme tietoja Mviewilta, sen ei tarvitse suorittaa uudelleen valintalausettaan. Se antaa tulosten tilannekuvataulukostaan. Siksi mview:n suoritusaika on lyhyempi kuin näkymän (samalle select-käskylle). Mviews-tiedostoja ei kuitenkaan voi käyttää koko ajan, koska se näyttää saman tulosteen, joka tallennetaan tilannekuvataulukkona. Meidän pitäisi päivittää mview saadaksemme sen viimeisimmän tulosjoukon.
Mitä eroa View- ja Mview-näkymällä on?
1. Mview tallentaa tulostensa aina tilannekuvataulukona, kun se luodaan, mutta näkymä ei luo taulukoita.
2. Näkymä ei tarvitse suurta tilaa sisällön tallentamiseen, mutta mview tarvitsee suhteellisen enemmän tilaa kuin näkymä sisällön tallentamiseen (snapshot-taulukkona).
3. Näkymä vie enemmän suoritusaikaa, mutta mview vie vähemmän suoritusaikaa kuin näkymät (samalle select-lauseelle).
4. Mviews on päivitettävä uusimpien tietojen saamiseksi, mutta näkymät antavat aina uusimmat tiedot.
5. Kaava tarvitsee "luo materialisoidun näkymän" -oikeuden mview-kuvien luomiseen, ja näkemyksiä varten se tarvitsee "luo näkymän" -oikeuden.
6. Indeksejä voidaan luoda mview-ohjelmiin suorituskyvyn parantamiseksi, mutta indeksejä ei voi luoda näkymiin.