Differenza tra vista e vista materializzata

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 3 Maggio 2024
Anonim
P#9 Difference between view and materialized view  in oracle SQL Database- interview question
Video: P#9 Difference between view and materialized view in oracle SQL Database- interview question

Contenuto


Finora abbiamo parlato delle tabelle originali archiviate nella forma fisica nei database. In cui abbiamo accesso a tutti gli attributi delle tabelle. E se dovessimo impedire a un utente di accedere ad alcuni attributi della tabella e consentire l'accesso ad altri attributi. Ad esempio, un impiegato in un dipartimento amministrativo può cercare il nome, l'indirizzo, la designazione, l'età e altri fattori di una tabella dei dipendenti. Ma non deve essere autorizzato a visualizzare o accedere allo stipendio di alcun dipendente.

In tali casi, dobbiamo essere in grado di creare una tabella virtuale in grado di visualizzare solo gli attributi richiesti da una tabella. Ciò è possibile tramite Vista e Vista materializzata di cui parleremo in questo articolo. Discuteremo anche le differenze tra vista e Vista materializzata con l'aiuto della tabella di confronto mostrata di seguito:

  1. Tabella di comparazione
  2. Definizione
  3. Differenze chiave
  4. Conclusione

Tabella di comparazione

Base per il confrontoVisualizzaVista materializzata
Di baseUna vista non viene mai memorizzata, viene solo visualizzata.Una vista materializzata è memorizzata sul disco.
DefinireView è la tabella virtuale formata da una o più tabelle o viste di base.La vista materializzata è una copia fisica della tabella di base.
AggiornareLa vista viene aggiornata ogni volta che viene utilizzata la tabella virtuale (Visualizza).La vista materializzata deve essere aggiornata manualmente o utilizzando i trigger.
VelocitàElaborazione lenta.Elaborazione veloce.
Utilizzo della memoriaLa vista non richiede spazio di memoria.La vista materializzata utilizza lo spazio di memoria.
SintassiCrea Visualizza V come Crea vista materializzata V Build Aggiorna su come


Definizione di vista

Visualizza è a tavolo virtuale, creato utilizzando Crea vista comando. Questa tabella virtuale contiene i dati recuperati da a espressione di query, nel comando Crea vista. La vista può essere creata da una o più tabelle o viste di base. È possibile eseguire una query su una vista come si interrogano le tabelle di base originali.

È non che la vista è precalcolate e immagazzinato sul disco invece, è una vista computerizzata ogni volta che viene utilizzato o vi si accede. Ogni volta che viene utilizzata una vista, l'espressione della query nel comando Crea vista viene eseguita in quel particolare momento. Quindi, ottieni sempre il aggiornato dati in una vista.

Se si aggiorna qualsiasi contenuto in Visualizza, questo si riflette nella tabella originale e se fossero state apportate modifiche alla tabella di base originale, si rifletterebbe nella sua Vista. Ma questo rende le prestazioni di una vista Più lentamente. Ad esempio, una vista viene creata dall'unione di due o più tabelle. In tal caso, è necessario pagare del tempo per risolvere i join ogni volta che viene utilizzata una vista.


Ma ne ha alcuni vantaggi piace farlo non richiedere spazio di archiviazione. Puoi creare un su misura vista di un database complesso. Puoi limitare l'utente dall'accesso alle informazioni sensibili in un database. Riduce il complessità di query ottenendo dati da più tabelle in un'unica vista personalizzata.

Ora vediamo la sintassi di View

Crea Visualizza V come

Ricorda tutte le visualizzazioni non sono aggiornabili. Come una vista creata usando DISTINCT clausola, Raggruppare per clausola, DAI UN'OCCHIATA vincolo (se i vincoli di controllo violano), Sola lettura l'opzione non può essere aggiornata.

Definizione di vista materializzata

Vista materializzata è il Copia fisica delle tabelle di base originali. La vista materializzata è come una istantanea o immagine delle tabelle di base originali. Come View, contiene anche i dati recuperati da espressione di query di Crea vista materializzata comando.

Ma a differenza di Vista, la Vista materializzata lo è precalcolate e immagazzinato su un disco come un oggetto, e lo sono non aggiornato ogni volta che vengono utilizzati. Invece, la vista materializzata deve essere aggiornata manualmente o con l'aiuto di trigger. Viene chiamato il processo di aggiornamento della vista materializzata Manutenzione vista materializzata.

La vista materializzata risponde più velocemente rispetto alla vista. È perché la vista materializzata è pre-calcolata e quindi non perde tempo a risolvere la query o si unisce alla query che crea la vista materializzata. Che a sua volta risponde più velocemente alla query fatta in vista materializzata.

Controlliamo la sintassi della vista materializzata:

Crea vista materializzata V
Build Refresh
SOPRA
Come

Dove Costruire la clausola decide quando popolare la vista materializzata. Il tipo di aggiornamento decide come aggiornare la vista materializzata e il trigger decide quando aggiornare la vista materializzata.

Le viste materalizzate sono generalmente utilizzate in data warehouse.

  1. La differenza di base tra Vista e Vista materializzata è che le viste sono non memorizzato fisicamente sul disco. D'altra parte, le viste materializzate sono immagazzinato sul disco.
  2. La vista può essere definita come a tavolo virtuale creato come risultato dell'espressione della query. Tuttavia, Materialized View è a copia fisica, immagine o istantanea della tabella di base.
  3. Una vista è sempre aggiornato poiché la query che crea la vista viene eseguita ogni volta che viene utilizzata la vista. D'altra parte, la vista materializzata viene aggiornata manualmente o applicando trigger ad esso.
  4. La vista materializzata risponde Più veloce di Visualizza come viene pre-calcolata la vista materializzata.
  5. Vista materializzata uTILIZZA il spazio di memoria come memorizzato sul disco mentre, la vista è solo a Schermo quindi non richiede spazio di memoria.

Conclusione:

La vista materializzata risponde più velocemente rispetto alla vista. Ma View fornisce sempre informazioni aggiornate all'utente.