Come utilizzare le viste materializzate postgreSQL

Come utilizzare le viste materializzate postgreSQL

Le viste in PostgreSQL sono tabelle grafiche che visualizzano i dati dalle tabelle corrispondenti. Le viste comuni possono anche essere modificate. PostgreSQL porta il concetto di visualizzazioni alla fase successiva consentendo alle viste per archiviare le informazioni materialmente, indicate come viste materializzate. Una vista materializzata preserva l'output di una domanda complicata e dispendiosa, che consente di interrogare rapidamente i risultati in qualsiasi momento. I punti di vista materializzati sono spesso utilizzati nei data warehouse e nelle applicazioni di business intelligence perché sono utili in situazioni che richiedono un rapido accesso ai dati.

Perché utilizzare viste materializzate?

Se il comando di visualizzazione è troppo lento per te, potresti preferire utilizzare una vista materializzata. Le viste materializzate hanno molta versatilità consentendo di conservare una rappresentazione materialmente nel database con tempi di accesso più brevi. Supponiamo che tu sia tenuto a creare una query di database per unire alcune tabelle, rimuovere le righe dalla collezione unione e ordinare le tabelle in vari modi. Questa potrebbe essere una query complicata e che richiede tempo e senza viste materializzate, finirai per usare una vista materializzata per affrontare questo dilemma. Questo articolo ti insegna come utilizzare viste materializzate in PostgreSQL.

Sintassi

>> Crea View_Name Materialized View_ come query con [no] dati;

La spiegazione di questa visione generale è la seguente:

  • View_name: Il titolo della vista da creare con l'istruzione Createwing View Materialis.
  • Domanda: La query che ottiene i dati dalle tabelle corrispondenti.
  • Con [no] dati: Scegli l'opzione con dati per incorporare i dati di informazione nella vista materializzata al momento dello sviluppo; Altrimenti, scegli senza dati. La vista è contrassegnata come incomprensibile se si utilizza l'opzione dati con [no], il che implica che non sarà in grado di cercare informazioni dalla vista a meno che non si siano caricati i dati in esso prima.

Come utilizzare viste materializzate

Avvia la shell della linea di comando PostgreSQL per iniziare a lavorare su viste materializzate.

Fornisci il nome del server, il database su cui si desidera lavorare, il numero di porta e il nome utente per iniziare a utilizzare la shell del comando. Lascia questi spazi vuoti se si desidera utilizzare il sistema predefinito.

Esempio 1: vista semplice

Per capire la vista materializzata, devi prima capire semplici viste. Quindi, crea la nuova tabella, "studente", utilizzando il comando Crea table, come aggiunto.

>> Crea Student Table (chiave seriale SID, SNAME VARCHAR (100) NON NULL, AE VARCHAR (100) NON NULL);

Successivamente, inserisci i dati in essi usando la query di inserimento.

Prendi i record della tabella "studente" utilizzando l'istruzione seleziona per la vista semplice.

>> seleziona * dallo studente;

Esempio 2: vista materializzata semplice

Ora è tempo di coprire la vista materializzata. Useremo la tabella "studente" per creare una vista materializzata. Creeremo una vista materializzata denominata "std_view" utilizzando il comando "Crea vista materializzata". In questo punto di vista, prenderemo il campo del nome dello studente "SNAME" dalla tabella "studente", raggruppata e ordinata in ordine crescente nella colonna "SNAME".

>> Crea Visualizza materiale std_view come selezionare SNAME dal gruppo Student By SNAME ORDINE BY SNAME;

Ora, utilizzando la query seleziona per eseguire la vista, restituiremo i nomi degli studenti nella colonna "SNAME" della tabella "Student".

>> Seleziona * da std_view;

Esempio 3: vista materializzata usando dove la clausola

Ora creeremo una vista materializzata usando la clausola. Considera la seguente tabella "studente" con alcune modifiche ai suoi valori.

Quindi, creeremo una vista materializzata denominata "teststd" utilizzando la query "Crea vista materializzata". Selezioneremo i record della tabella "studente" in cui il valore della colonna "età" è maggiore di "25" usando la clausola. La query funziona correttamente, come si vede nella foto.

>> Crea Visualizza materiale Teststd come selezione SID, SNAME, Età dallo studente in cui età> '25';

Infine, eseguiremo la vista materializzata che abbiamo appena creato utilizzando il comando seleziona, come di seguito. Vedrai che restituirà tutti i record dalla tabella "studente" in cui la colonna "età" ha un valore maggiore di '25.'

>> Seleziona * da teststd;

Esempio 4: aggiorna la vista materializzata utilizzando senza clausola di dati

In questo esempio, creeremo una vista materializzata, in cui useremo la clausola senza dati per aggiornare la vista. Supponiamo che la seguente tabella "studente" con alcune alterazioni dei suoi valori.

Ora creeremo la vista "teststd" materializzata. Questa vista selezionerà i record dalla tabella "studente" in cui l'età degli studenti è inferiore a '40.'I record recuperati saranno raggruppati e ordinati secondo l'ordine ascendente nella colonna' SID '. Alla fine della query, utilizzeremo la clausola senza dati per indicare che la query non salverà alcuna informazione in una vista materializzata. La vista mostrata di seguito dovrebbe eseguire correttamente queste azioni.

>> Crea Teststd di visualizzazione materializzata come SID SECCHIO, SNAME, AGE DA STUDENTE DOVE ATTA < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Quando si aggiunge la clausola "senza dati" a una vista materializzata, questo crea una vuota. Questa vista materializzata non è query. Come puoi vedere nella seguente immagine, non sta recuperando i record nella vista appena creata.

L'istruzione di visualizzazione materializzata di aggiornamento viene utilizzata per importare i dati in una vista materializzata. Compilare la vista materializzata eseguendo la seguente query di visualizzazione materializzata di aggiornamento nella shell. Come puoi vedere, questa query ha funzionato in modo efficace.

>> aggiorna la visualizzazione materializzata teststd;

Ancora una volta, prendi i record della vista materializzata "teststd" utilizzando l'istruzione seleziona nella shell. Questa volta, la query selezionata funziona correttamente perché l'istruzione "Aggiorna" ha caricato i contenuti nella vista materializzata.

Esempio 5: Vista materializzata per caduta

Il comando seguente eliminerà una vista materializzata.

>> drop materializzato visualizza std_view;

Conclusione

Questo articolo ti ha mostrato come utilizzare viste materializzate tramite la clausola Where e Aggiorna le query nella shell della riga di comando.