Raccomandato, 2024

Scelta Del Redattore

Differenza tra vista e vista materializzata

Finora, abbiamo parlato delle tabelle originali memorizzate nella forma fisica nei database. In cui abbiamo accesso a tutti gli attributi delle tabelle. Cosa succede se dobbiamo limitare un utente ad accedere ad alcuni attributi della tabella e consentire l'accesso agli altri attributi. Come, un impiegato in un dipartimento amministrativo può cercare il nome, l'indirizzo, la designazione, l'età e altri fattori di un tavolo dei dipendenti. Ma non deve essere autorizzato a visualizzare o accedere allo stipendio di qualsiasi dipendente.

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

Grafico comparativo

Base per il confrontovistaVista materializzata
Di baseUna vista non viene mai memorizzata, viene solo visualizzata.Una vista materializzata è memorizzata sul disco.
DefinireVisualizza è 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 visualizzazione 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 vista V comeCrea V vista materializzata [clausola] Aggiorna [clausola] On [Trigger] As

Definizione di vista

La vista è una tabella virtuale, creata utilizzando il comando Crea vista . Questa tabella virtuale contiene i dati recuperati da un'espressione di query, nel comando Crea vista. La vista può essere creata da una o più tabelle o viste di base. È possibile interrogare una vista come se si interrogassero le tabelle di base originali.

Non è che la Vista sia precalcolata e memorizzata sul disco, invece, una Vista è calcolata ogni volta che viene usata o acceduta. Ogni volta che viene utilizzata una vista, l'espressione della query nel comando Crea vista viene eseguita in quel particolare momento. Quindi, ottieni sempre i dati aggiornati in una vista.

Se si aggiorna qualsiasi contenuto in Visualizza, ciò si riflette nella tabella originale e, se sono state apportate modifiche alla tabella di base originale, ciò si rifletterebbe nella sua vista. Ma questo rallenta le prestazioni di una vista. Ad esempio, una vista viene creata dal join di due o più tabelle. In tal caso, devi pagare del tempo per risolvere Joins ogni volta che viene utilizzata una vista.

Ma ha alcuni vantaggi come non richiede spazio di archiviazione . È possibile creare una vista personalizzata di un database complesso. È possibile impedire all'utente di accedere a informazioni riservate in un database. Riduce la complessità delle query recuperando i dati da più tabelle in un'unica vista personalizzata.

Ora vediamo la sintassi di View

Crea vista V come

Ricorda che tutte le View non sono aggiornabili. Come una vista creata usando la clausola DISTINCT, la clausola Group By, il vincolo CHECK (se i vincoli di controllo violano), l'opzione di sola lettura non può essere aggiornata.

Definizione di vista materializzata

La Vista materializzata è la copia fisica delle tabelle di base originali. La Vista materializzata è come un'istantanea o un'immagine delle tabelle di base originali. Come Visualizza, contiene anche i dati recuperati dall'espressione di query del comando Crea visualizzazione materializzata .

Ma a differenza di View, la Vista materializzata è precalcolata e memorizzata su un disco come un oggetto e non viene aggiornata ogni volta che viene utilizzata. Invece, la vista materializzata deve essere aggiornata manualmente o con l'aiuto di trigger . Il processo di aggiornamento della Vista materializzata si chiama manutenzione vista materializzata .

La Vista materializzata risponde più velocemente rispetto a Visualizza. È perché la vista materializzata è precalcolata e, quindi, non perde tempo nel risolvere la query o i join nella query che crea la Vista materializzata. Che a sua volta risponde più velocemente alla domanda fatta su una vista materializzata.

Cerchiamo di verificare la sintassi della vista materializzata:

Crea una vista materializzata V
Build [clause] Aggiorna [tipo]
ON [trigger]
Come

Dove decide la clausola Build, quando compilare la Vista materializzata. Il tipo di aggiornamento decide come aggiornare la Vista materializzata e il trigger decide quando aggiornare la Vista materializzata.

Le visualizzazioni materalizzate sono generalmente utilizzate nel data warehouse .

Differenze chiave tra vista e vista materializzata

  1. La differenza fondamentale tra Visualizza e Vista materializzata è che le Viste non sono archiviate fisicamente sul disco. D'altra parte, le Viste materializzate sono memorizzate sul disco.
  2. La vista può essere definita come una tabella virtuale creata come risultato dell'espressione della query. Tuttavia, la Vista materializzata è una copia fisica, un'immagine o istantanea della tabella di base.
  3. Una vista viene sempre aggiornata man mano che la query che crea View viene eseguita ogni volta che viene utilizzata la vista. D'altra parte, Materialized View viene aggiornato manualmente o applicando dei trigger ad esso.
  4. La Vista materializzata risponde più velocemente di Visualizza mentre la Vista materializzata è precalcolata.
  5. La Vista materializzata utilizza lo spazio di memoria mentre è memorizzato sul disco, mentre la Vista è solo un display quindi non richiede spazio di memoria.

Conclusione:

La Vista materializzata risponde più velocemente rispetto a Visualizza. Ma View fornisce sempre informazioni aggiornate all'utente.

Top