Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Abfragen materialisierter Ansichten
Wenn Sie eine materialisierte Ansicht abfragen, greifen Sie direkt auf die vorberechneten Daten in der materialisierten Ansicht zu. Sie können eine materialisierte Ansicht in jeder SQL-Abfrage verwenden, indem Sie auf den Namen der materialisierten Ansicht als Datenquelle verweisen, wie bei einer Tabelle oder Standardansicht.
Betrachten Sie dazu die Beispielillustration für die materialisierte Ansicht mv_total_orders vom Abschnitt Erstellen von materialisierten Ansichten dieses Handbuchs. Wenn Sie eine Abfrage mv_total_orders erstellen möchten für (was eine Liste von Kunden mit Bestellungen im Gesamtwert von mehr als 500 USD zurückgibt), dann könnten Sie die folgende Standardabfrage ausführen:
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;
Die vorherige Abfrage ist jedoch nicht im Hinblick auf Geschwindigkeit optimiert. Wir empfehlen, dass Sie stattdessen die folgende Abfrage ausführen:
SELECT cust_id, first_name, total_amount FROM mv_total_orders WHERE total_amount > 500;
Die empfohlene Abfrage ist viel schneller, da die Abfrageergebnisse vorberechnet sind und es nicht erforderlich ist, auf die zugrundeliegenden Tabellen (Kunde und Auftrag) zuzugreifen. Amazon Redshift kann die Ergebnisse direkt aus zurückgeben mv_total_orders.
Wichtig
Wenn eine Abfrage auf eine materialisierte Ansicht zugreift, sieht die Abfrage nur die in der materialisierten Ansicht gespeicherten Daten zum Zeitpunkt der letzten Aktualisierung. Daher erfasst die Abfrage möglicherweise nicht alle aktuellen Änderungen aus den korrespondierenden Basistabellen der materialisierten Ansicht.