Vista materializzata

vista salvata su un dispositivo di archiviazione di massa

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

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

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.

  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

Collegamenti esterni

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