Differenza tra vista e visualizzazione materializzata

Anonim

Vista vs Vista Materialized

seleziona * da nome di vista

Visualizza

Come accennato in precedenza, la vista è un tavolo virtuale che nasconde una query selezionata. Queste query selezionate non sono pre-eseguite. Quando eseguiamo un'istruzione select da una vista, esegue l'istruzione select che si trova all'interno del corpo di visualizzazione. Supponiamo che l'istruzione selezionata del corpo di visualizzazione sia un'istruzione molto complessa. Quindi quando viene eseguito, ci vuole un certo tempo per eseguire (relativamente più tempo). Inoltre, la vista utilizza uno spazio molto piccolo per memorizzarsi. Questo perché ha solo una dichiarazione selettiva come contenuto.

Visualizzazione materializzata (Mview)

Questo è un tipo di vista speciale. I moviews vengono creati quando abbiamo problemi di prestazioni con viste. Quando creiamo un mview, esegue la sua query di selezione e memorizziamo l'output come tabella snapshot. Quando richiediamo i dati da Mview, non è necessario eseguire nuovamente l'istruzione select. Dà l'output dalla sua tabella snapshot. Pertanto, il tempo di esecuzione di mview è minore della vista (per la stessa istruzione selezionata). Tuttavia, i moviews non possono essere utilizzati tutti i tempi, poiché mostra la stessa uscita, che viene memorizzata come tabella di snapshot. Dobbiamo aggiornare il mview per ottenere il suo ultimo set di risultati.

Qual è la differenza tra Vista e Mview ?

1. Mview memorizza sempre la propria uscita come tabella istantanea quando viene creata, ma la visualizzazione non crea alcuna tabella.

2. Vista non richiede un grande spazio per memorizzare il suo contenuto, ma il mview ha bisogno di spazio relativamente più ampio di una vista per archiviare il suo contenuto (come tabella di istantanea).

3. La visualizzazione richiede tempi di esecuzione più grandi, ma il mview richiede tempi di esecuzione minori rispetto alle visualizzazioni (per la stessa istruzione selezionata).

4. Mviews deve essere aggiornato per ottenere i suoi ultimi dati, ma le visualizzazioni mostrano sempre i suoi ultimi dati.

5. Lo schema ha bisogno di "creare visualizzazione materializzata" privilegio di creare mviews e per le visualizzazioni è necessario "creare vista" privilegio.

6. Gli indici possono essere creati su mviews per ottenere maggiori prestazioni, ma non è possibile creare indici nelle visualizzazioni.