Vista materializzata

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

In informatica, una vista materializzata (calco dell'inglese materialized view) è un oggetto delle basi di dati che contiene i risultati di una interrogazione. Tipicamente una copia locale di dati situati altrove, o un sottoinsieme di righe e/o colonne di una tabella o il risultato di una unione (join), o una sintesi basata su aggregazione di dati di tabelle. Le viste materializzate che memorizzano dati basandosi su tabelle remote sono anche chiamate "snapshot" ovvero "istantanee". Un'istantanea può essere ridefinita come vista materializzata. Una vista materializzata per ottenere una performance migliore salva i dati su disco, a differenza delle viste semplici che sono puramente virtuali (non salvano nessun risultato su disco, tutto è contenuto in memoria).

Implementazione[modifica | modifica wikitesto]

Oracle[modifica | modifica wikitesto]

Le viste materializzate sono state implementate per la prima volta da Oracle Database: dalla versione 8i.[1]

Sintassi d'esempio per creare viste materializzate in Oracle:

 CREATE MATERIALIZED VIEW MV_MY_VIEW
REFRESH FAST START WITH SYSDATE
   NEXT SYSDATE + 1
     AS SELECT * FROM <table_name>;

PostgreSQL[modifica | modifica wikitesto]

Le viste materializzate sono disponibili in PostgreSQL dalla versione 9.3.[2]

La sintassi utilizzata e':

CREATE MATERIALIZED VIEW table_name
    [ (column_name [, ...] ) ]
    [ WITH ( storage_parameter [= value] [, ... ] ) ]
    [ TABLESPACE tablespace_name ]
    AS query
    [ WITH [ NO ] DATA ]

REFRESH MATERIALIZED VIEW;

Dalla versione 9.4 è disponibile il comando REFRESH MATERIALIZED VIEW CONCURRENTLY che consente di accedere alla vista materializzata anche durante l'aggiornamento.

Note[modifica | modifica wikitesto]

  1. ^ Oracle8i Tuning Release 8.1.5. Ecst.csuchico.edu. Retrieved on 2012-02-09.
  2. ^ PostgreSQL Documentation. www.postgresql.org. Retrieved on 2020-10-31.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica