Creare viste materializzate

Quando si utilizza SQL per creare una vista materializzata da una tabella di base, il sistema memorizza la definizione della vista per tutta la durata della vista SPM e la vista è visibile come vista materializzata. I record associati alla vista SPM vengono materializzati in una tabella unica. Le fette di dati SPM sono co-locate sulle stesse fette di dati delle corrispondenti fette di dati della tabella di base e sono memorizzate in modo persistente sulle partizioni del disco utente.

Per creare una vista materializzata, inserire:
   MYDB.SCHEMA(USER)=> CREATE MATERIALIZED VIEW customers_mview AS SELECT 
customer_name, customer_id FROM customers ORDER BY customer_id;
Le seguenti restrizioni si applicano alla creazione di una vista materializzata:
  • È possibile specificare una sola tabella di base nella clausola FROM.
  • Non è possibile utilizzare la clausola WHERE.
  • Le colonne dell'elenco di proiezione devono essere colonne della tabella di base e non sono ammesse espressioni (aggregati, operatori matematici, casting, operatore DISTINCT e altre espressioni).
  • È necessario specificare almeno una colonna nell'elenco delle proiezioni.
  • Le colonne della clausola opzionale ORDER BY devono essere una o più colonne dell'elenco di proiezione. Se non si specifica ORDER BY, la vista materializzata mantiene lo stesso ordine della tabella di base.
  • Non è possibile specificare NULLS LAST o DESC nell'espressione ORDER BY.
  • Non è possibile specificare una tabella esterna, temporanea, di sistema o una tabella di base clusterizzata (CBT) come tabella di base per la vista.
Nota: Quando si inseriscono nuovi record nella tabella di base che ha una vista SPM associata, il sistema aggiunge i nuovi record anche alla tabella della vista materializzata. Pertanto, ci sono due aree nella tabella materializzata: un'area contiene i record ordinati generati al momento della creazione della vista, l'altra area contiene i record non ordinati inseriti nella tabella di base dopo la creazione della vista SPM. Se le prestazioni della query dipendono dalla natura ordinata della vista SPM, aggiornare manualmente la vista SPM sospendendola e aggiornandola periodicamente.