Vista materializzata

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

Oracle

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

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

  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

  • Vista

Collegamenti esterni

  • (EN) Materialized View Concepts and Architecture – Oracle, su download.oracle.com.
  • (EN) SQL Snippets: SQL Features Tutorials – Materialized Views – Oracle, su sqlsnippets.com.
  • (EN) Oracle9i Replication Management API, su download.oracle.com.
  • (EN) PostgreSQL CREATE MATERIALIZED VIEW, su postgresql.org.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica