Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Invio di query alle viste materializzate
Quando invii una query a una vista materializzata, accedi direttamente ai dati precalcolati al suo interno. È possibile utilizzare una vista materializzata in qualsiasi query SQL facendo riferimento al nome della vista materializzata come origine dati, come nel caso di una tabella o di una vista standard.
Ad esempio, considera l'esempio di illustrazione di vista materializzata mv_total_orders della sezione Creazione di viste materializzate della presente guida. Se vuoi creare una query per mv_total_orders (che restituisce un elenco di clienti con ordini per un totale di oltre 500 USD), puoi eseguire la seguente query standard:
statement. SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name HAVING sum(o.amount) > 500;
Tuttavia, la query precedente non è ottimizzata per la velocità. Consigliamo invece eseguire la query seguente:
SELECT cust_id, first_name, total_amount FROM mv_total_orders WHERE total_amount > 500;
La query consigliata viene eseguita molto più velocemente, perché i suoi risultati sono precalcolati e non è necessario accedere alle tabelle sottostanti (customer e order). Amazon Redshift può restituire i risultati direttamente da mv_total_orders.
Importante
Quando accede a una vista materializzata, una query vede esclusivamente i dati archiviati nella vista materializzata come da aggiornamento più recente. Di conseguenza, la query potrebbe non vedere tutte le ultime modifiche apportate alle corrispondenti tabelle di base della vista materializzata.