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: HTC EVO 4G LTE vs. iPhone 4S Speed Comparison 2024, Luglio
Anonim

Visualizza vs visualizzazione materializzata

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

selezionada viewname

Visualizza

Come accennato in precedenza, view è una tabella virtuale, che nasconde una query selezionata. Queste query di selezione 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. Assumiamo che l'istruzione select del view body sia un'istruzione molto complessa. Quindi, quando viene eseguito, ci vuole del tempo per l'esecuzione (relativamente più tempo). Inoltre, view utilizza uno spazio molto piccolo per archiviare se stesso. Questo perché ha solo un'istruzione select come contenuto.

Vista materializzata (Mview)

Questo è un tipo speciale di vista. Le visualizzazioni M vengono create quando si verificano problemi di prestazioni con le visualizzazioni. Quando creiamo un mview, esegue la sua query di selezione e memorizza il suo output come una tabella di istantanee. Quando richiediamo dati da Mview, non è necessario eseguire nuovamente la sua istruzione select. Fornisce l'output dalla sua tabella di istantanee. Pertanto, il tempo di esecuzione di mview è inferiore a view (per la stessa istruzione select). Tuttavia, mviews non può essere utilizzato in ogni momento, poiché mostra lo stesso output, che viene archiviato come tabella di istantanee. Dovremmo aggiornare il mview per ottenere l'ultimo set di risultati.

Qual è la differenza tra View e Mview?

1. Mview memorizza sempre il suo output come tabella snapshot quando viene creata, ma view non crea alcuna tabella.

2. View non ha bisogno di grande 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 tabella snapshot).

3. View richiede tempi di esecuzione maggiori, ma mview richiede tempi di esecuzione inferiori rispetto a views (per la stessa istruzione select).

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

5. Lo schema richiede il privilegio "crea vista materializzata" per creare mview e, per le viste, è necessario il privilegio "crea vista".

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

Consigliato: