Differenza Tra Vista E Vista Materializzata

Differenza Tra Vista E Vista Materializzata
Differenza Tra Vista E Vista Materializzata

Video: Differenza Tra Vista E Vista Materializzata

Video: Differenza Tra Vista E Vista Materializzata
Video: P#9 Difference between view and materialized view in oracle SQL Database- interview question 2024, Novembre
Anonim

Vista vs vista materializzata

Le viste e le viste materializzate (mviews) sono due tipi di oggetti del database Oracle. Entrambi questi oggetti fanno riferimento a query di selezione. Queste query selezionate agiscono come tabelle virtuali. Normalmente le visualizzazioni e le mviews fanno riferimento a query di selezione di grandi dimensioni, che hanno un insieme di join. Pertanto, uno dei principali vantaggi delle visualizzazioni è che possiamo memorizzare query di selezione complesse come visualizzazioni. Quindi, possiamo nascondere la logica dietro le query selezionate dai suoi utenti finali. Quando abbiamo bisogno di eseguire l'istruzione select complessa, dobbiamo solo eseguirla

seleziona * da viewname

Visualizza

Come accennato in precedenza, la vista è una tabella virtuale, che nasconde una query di selezione. 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 della vista. Supponiamo che l'istruzione select del corpo della vista sia un'istruzione molto complessa. Quindi, quando viene eseguito, ci vuole del tempo per essere eseguito (relativamente più tempo). Inoltre, la visualizzazione utilizza uno spazio molto ridotto per archiviarsi. Questo perché ha solo un'istruzione select come contenuto.

Vista materializzata (Mview)

Questo è un tipo speciale di visualizzazione. Le visualizzazioni multiple vengono create quando abbiamo problemi di prestazioni con le visualizzazioni. Quando creiamo un mview, esegue la sua query di selezione e memorizza il suo output come una tabella snapshot. Quando richiediamo dati da Mview, non è necessario rieseguire la sua istruzione select. Fornisce l'output dalla sua tabella snapshot. Pertanto, il tempo di esecuzione di mview è minore di view (per la stessa istruzione select). Tuttavia, le mviews non possono essere utilizzate sempre, poiché mostra lo stesso output, che è memorizzato come una tabella snapshot. Dobbiamo aggiornare mview per ottenere il suo ultimo set di risultati.

Qual è la differenza tra View e Mview?

1. Mview archivia sempre il proprio output come una tabella snapshot quando viene creato, ma view non crea alcuna tabella.

2. La vista non ha bisogno di molto spazio per memorizzare il suo contenuto, ma mview ha bisogno di uno spazio relativamente più grande di una vista per memorizzare il suo contenuto (come una tabella di istantanee).

3. View richiede un tempo di esecuzione maggiore, ma mview richiede un tempo di esecuzione inferiore rispetto a views (per la stessa istruzione select).

4. Le viste multiple devono essere aggiornate per ottenere i dati più recenti, ma le viste forniscono sempre i dati più recenti.

5. Lo schema necessita del privilegio "crea vista materializzata" per creare mviews, e per le viste, ha bisogno del privilegio "crea vista".

6. È possibile creare indici su mview per ottenere maggiori prestazioni, ma non è possibile creare indici su viste.

Raccomandato: