Automatisches Umschreiben von Abfragen zur Verwendung materialisierter Ansichten - Amazon Redshift

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.

Automatisches Umschreiben von Abfragen zur Verwendung materialisierter Ansichten

Sie können das automatische Umschreiben von Abfragen materialisierter Ansichten in Amazon Redshift verwenden, damit Amazon Redshift Abfragen für die Verwendung von materialisierten Ansichten umschreibt. Dadurch werden Abfrage-Workloads sogar für solche Abfragen beschleunigt, die nicht explizit auf eine materialisierte Ansicht verweisen. Wenn Amazon Redshift Abfragen umschreibt, verwendet es ausschließlich aktuelle materialisierte Ansichten.

Nutzungshinweise

Um zu überprüfen, ob das automatische Umschreiben von Abfragen für eine Abfrage verwendet wird, können Sie den Abfrageplan oder STL _ überprüfen. EXPLAIN Im Folgenden werden eine SELECT Anweisung und die EXPLAIN Ausgabe des ursprünglichen Abfrageplans gezeigt.

SELECT catgroup, SUM(qtysold) AS sold FROM category c, event e, sales s WHERE c.catid = e.catid AND e.eventid = s.eventid GROUP BY 1; EXPLAIN XN HashAggregate (cost=920021.24..920021.24 rows=1 width=35) -> XN Hash Join DS_BCAST_INNER (cost=440004.53..920021.22 rows=4 width=35) Hash Cond: ("outer".eventid = "inner".eventid) -> XN Seq Scan on sales s (cost=0.00..7.40 rows=740 width=6) -> XN Hash (cost=440004.52..440004.52 rows=1 width=37) -> XN Hash Join DS_BCAST_INNER (cost=0.01..440004.52 rows=1 width=37) Hash Cond: ("outer".catid = "inner".catid) -> XN Seq Scan on event e (cost=0.00..2.00 rows=200 width=6) -> XN Hash (cost=0.01..0.01 rows=1 width=35) -> XN Seq Scan on category c (cost=0.00..0.01 rows=1 width=35)

Im Folgenden wird die EXPLAIN Ausgabe nach einem erfolgreichen automatischen Umschreiben gezeigt. Diese Ausgabe enthält einen Scan der materialisierten Ansicht im Abfrageplan, der Teile des ursprünglichen Abfrageplans ersetzt.

* EXPLAIN XN HashAggregate (cost=11.85..12.35 rows=200 width=41) -> XN Seq Scan on mv_tbl__tickets_mv__0 derived_table1 (cost=0.00..7.90 rows=790 width=41)

Nur up-to-date (neue) materialisierte Ansichten werden für das automatische Umschreiben von Abfragen berücksichtigt, unabhängig von der Aktualisierungsstrategie, z. B. auto, geplant oder manuell. Daher gibt die ursprüngliche Abfrage Ergebnisse zurück up-to-date. Wenn in Abfragen explizit auf eine materialisierte Ansicht verwiesen wird, greift Amazon Redshift auf aktuell gespeicherte Daten in der materialisierten Ansicht zu. Diese Daten spiegeln möglicherweise nicht die aktuellen Änderungen aus den Basistabellen der materialisierten Ansicht wider.

Sie können das automatische Umschreiben von Abfragen für materialisierte Ansichten verwenden, die mit der Cluster-Version 1.0.20949 oder höher erstellt wurden.

Sie können das automatische Umschreiben von Abfragen auf Sitzungsebene beenden, indem Sie SET mv_enable_aqmv_for_session to verwenden. FALSE

Einschränkungen

Bei der Verwendung des automatischen Umschreibens von Abfragen materialisierter Ansichten gelten folgende Einschränkungen:

  • Das automatische Umschreiben von Abfragen funktioniert mit materialisierten Ansichten, die keine der folgenden Elemente enthalten und nicht auf diese verweisen:

    • Unterabfragen

    • Left, Right oder Full Outer Joins

    • Set-Operationen

    • Alle Aggregatfunktionen außer,,, und. SUM COUNT MIN MAX AVG (Dies sind die einzigen Aggregationsfunktionen, die mit dem automatischen Umschreiben von Abfragen arbeiten.)

    • Beliebige Aggregatfunktionen mit DISTINCT

    • Alle Fensterfunktionen

    • SELECTDISTINCToder HAVING Klauseln

    • Externe Tabellen

    • Andere materialisierte Ansichten

  • Beim automatischen Umschreiben von Abfragen werden SELECT Abfragen, die auf benutzerdefinierte Amazon Redshift Redshift-Tabellen verweisen, neu geschrieben. Folgende Abfragen werden in Amazon Redshift nicht umgeschrieben:

    • CREATETABLEAS-Anweisungen

    • SELECTINTOAussagen

    • Abfragen zu Katalogen oder Systemtabellen

    • Abfragen mit äußeren Verknüpfungen oder einer SELECT DISTINCT Klausel

  • Wenn eine Abfrage nicht automatisch neu geschrieben wird, überprüfen Sie, ob Sie über die SELECT entsprechende Berechtigung für die angegebene materialisierte Ansicht verfügen und ob die mv_enable_aqmv_for_session Option auf gesetzt ist. TRUE

    Sie können auch überprüfen, ob Ihre materialisierten Ansichten für das automatische Umschreiben von Abfragen in Frage kommen, indem Sie _MV_ überprüfen. STV INFO Weitere Informationen finden Sie unter STV_MV_ INFO.