Differenza tra vista materializzata e vista nei database
Vista materializzata
In informatica, una vista materializzata (in inglese Materialized View) è un oggetto di database che contiene i risultati di una query. Ad esempio, può essere una copia locale di dati localizzati in remoto o può essere un sottoinsieme delle righe e/o colonne di una tabella o un risultato di join o può essere un riepilogo utilizzando una funzione di aggregazione.
Le viste materializzate possono essere utilizzate per molti scopi, tra cui:
- Denormalizzazione
- Validazione
- Data Warehousing
- Replica
Vista
Le viste (in inglese View) nel database sono una specie di tabelle virtuali logiche. In realtà è una composizione di una tabella sotto forma di una query SQL predeterminata. Una vista ha anche righe e colonne così come sono nella tabella reale nel database. Possiamo creare una vista selezionando i campi da una o più tabelle presenti nel database che dipende dalla query SQL scritta per creare una vista. Una vista può avere tutte le righe di una tabella o righe specifiche in base a determinate condizioni.
Le viste, che sono un tipo di tabelle virtuali, consentono agli utenti di eseguire le seguenti operazioni:
- Struttura i dati in modo che gli utenti o le classi di utenti trovino naturali o intuitivi.
- Limitare l’accesso ai dati in modo tale che un utente possa vedere e talvolta modificare esattamente ciò di cui ha bisogno e non di più.
- Riepiloga i dati da varie tabelle che possono essere utilizzate per generare rapporti.
Differenza tra vista materializzata e vista
BASE DI CONFRONTO | VISTA MATERIALIZZATA | VISTA |
Definizione | Le viste materializzate sono copie fisiche delle tabelle di origine contenute in un database. | Le viste sono tabelle virtuali sviluppate da una o più viste o tabelle. |
Descrizione | Le viste materializzate sono schemi non virtuali. È una parte comune del magazzino di database. Viene utilizzato principalmente per riepilogare, preelaborare, replicare e distribuire dati, ecc. | Le viste sono le proiezioni virtuali di una query di output o la visualizzazione dinamica dei dati in un database che viene presentata all’utente ogni volta che viene richiesta. |
Capacità | Una vista materializzata è in grado di memorizzare i dati. Rende l’accessibilità ai dati un processo più veloce. | Le viste non sono in grado di memorizzare alcun dato, puntano solo ai dati che devono essere visualizzati. |
In aggiornamento | Le viste materializzate devono essere aggiornate con l’uso di trigger o manualmente. | Le viste vengono aggiornate automaticamente ogni volta che viene utilizzata una vista / tabella virtuale. |
Archiviazione su disco | Le viste materializzate vengono memorizzate sul disco. | Le visualizzazioni non vengono archiviate fisicamente sul disco. |
Capacità di archiviazione | Una vista materializzata può essere archiviata in un database diverso o nello stesso database delle tabelle di base. | Una vista può essere utilizzata nei luoghi in cui un tavolo può essere utilizzato. |
Standard di definizione SQL | Non esiste uno standard SQL per la definizione di una vista materializzata e la funzionalità è fornita da alcuni sistemi di database come estensione. | Esiste uno standard SQL per la definizione di una vista. |
Creazione | Il rowid è diverso in caso di viste materializzate. | Quando viene creata una vista con l’uso di qualsiasi tabella, la riga della vista sarà la stessa della tabella originale. |
Velocità di elaborazione | Una vista materializzata è veloce nell’elaborazione. | Le visualizzazioni sono lente da elaborare. |
Dati in tempo reale | Una vista materializzata non riflette i dati in tempo reale. I dati sono aggiornati solo come l’ultima volta che la vista materializzata è stata aggiornata. | L’output di una vista è costruito al volo; mostra i dati in tempo reale dalle tabelle di base interrogate. |
Utilizzo efficiente | Una vista materializzata viene utilizzata al meglio quando si dispone di una tabella molto grande e le persone eseguono aggregazioni frequenti su di essa e si richiede una risposta rapida. | Una vista viene utilizzata al meglio quando si desidera nascondere i dettagli di implementazione di una query complessa o quando si desidera limitare l’accesso a un insieme di righe / colonne nelle tabelle di base. |
Esecuzione | Una vista materializzata è una query “pre-risposta”: la query viene eseguita quando la vista materializzata viene aggiornata. Il suo risultato viene memorizzato nel database e la query sfoglia solo il risultato. | L’SQL di una vista viene eseguito in fase di esecuzione. I risultati vengono recuperati dalle tabelle di base della visualizzazione quando viene eseguita una query sulla visualizzazione. |
Comandi DML | I comandi DML possono essere eseguiti in viste materializzate. | Nelle viste semplici, i comandi DML non sono possibili nel caso in cui siano realizzati utilizzando più tabelle. |
Accesso | Le viste materializzate sono efficienti quando si accede frequentemente alla vista. | Le visualizzazioni sono utili quando si accede alla visualizzazione di rado. |