Kategorien:

Information Schema, Tabellenfunktionen

MATERIALIZED_VIEW_REFRESH_HISTORY

Diese Tabellenfunktion wird zum Abfragen des Aktualisierungsverlaufs von materialisierten Ansichten für eine angegebene materialisierte Ansicht innerhalb eines angegebenen Datumsbereichs verwendet. Die von der Funktion zurückgegebenen Informationen umfassen den Namen der Ansicht und die bei jeder Aktualisierung einer materialisierten Ansicht verbrauchten Credits.

Syntax

MATERIALIZED_VIEW_REFRESH_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ]
      [ , MATERIALIZED_VIEW_NAME => '<string>' ] )

Argumente

Alle Argumente sind optional.

DATE_RANGE_START => Konstantenausdruck, . DATE_RANGE_END => Konstantenausdruck

Der Datums-/Zeitbereich zum Anzeigen des Wartungsverlaufs der materialisierten Ansicht. Wenn Sie beispielsweise festlegen, dass das Startdatum 2019-05-03 und das Enddatum 2019-05-05 ist, erhalten Sie Daten für den 3. Mai, 4. Mai und 5. Mai. (Die Endpunkte sind enthalten.)

  • Wenn weder ein Start- noch ein Enddatum angegeben sind, werden standardmäßig die letzten 12 Stunden verwendet.

  • Wenn kein Enddatum, aber ein Startdatum angegeben ist, wird CURRENT_DATE um Mitternacht als Ende des Bereichs verwendet.

  • Wenn kein Startdatum, aber ein Enddatum angegeben ist, beginnt der Bereich 12 Stunden vor dem Start von DATE_RANGE_END.

MATERIALIZED_VIEW_NAME => Zeichenfolge

Name der materialisierten Ansicht. Wenn angegeben, wird der Verlauf nur für die angegebene materialisierte Ansicht angezeigt. Der Name kann den Schemanamen und den Datenbanknamen enthalten.

Wenn kein Name angegeben wird, enthalten die Ergebnisse die Daten für jede materialisierte Ansicht, die innerhalb des angegebenen Zeitraums gewartet wird.

Nutzungshinweise

  • Gibt nur Ergebnisse für die Rolle ACCOUNTADMIN oder für eine Rolle zurück, für die die globale Berechtigung MONITOR USAGE explizit erteilt wurde.

    Bemerkung

    Eine Rolle mit der Berechtigung MONITOR USAGE kann die Credit-Nutzung pro Objekt anzeigen, jedoch keine Objektnamen. Der Rolle muss auch SELECT für ein Objekt erteilt werden, damit der Name von dieser Funktion zurückgegeben wird. Wenn die Rolle nicht über ausreichende Berechtigungen zum Anzeigen des Objektnamens verfügt, wird der Objektname möglicherweise mit einem Ersatznamen wie „unknown_#“ angezeigt, wobei „#“ eine oder mehrere Ziffern darstellt.

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Information Schema.

  • Der Verlauf wird in Schritten von 1 Stunde angezeigt.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

START_TIME

TIMESTAMP_LTZ

Beginn des angegebenen Zeitbereichs.

END_TIME

TIMESTAMP_LTZ

Ende des angegebenen Zeitbereichs.

CREDITS_USED

TEXT

Anzahl der Credits, die für die Wartung der materialisierten Ansicht im Fenster START_TIME und END_TIME in Rechnung gestellt werden.

MATERIALIZED_VIEW_NAME

TEXT

Name der materialisierten Ansicht.

Beispiele

Rufen Sie den Aktualisierungsverlauf für einen Bereich von einer Stunde für Ihr Konto ab:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>'2019-05-22 19:00:00.000',
    date_range_end=>'2019-05-22 20:00:00.000'));

Hier ist eine Beispielausgabe:

+-------------------------------+-------------------------------+--------------+-----------------------------------------+
| START_TIME                    | END_TIME                      | CREDITS_USED | MATERIALIZED_VIEW_NAME                  |
|-------------------------------+-------------------------------+--------------+-----------------------------------------|
| 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 |  0.223276651 | TEST_DB.TEST_SCHEMA.MATERIALIZED_VIEW_1 |
+-------------------------------+-------------------------------+--------------+-----------------------------------------+

Rufen Sie den Verlauf der letzten 12 Stunden für Ihr Konto ab:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(H, -12, current_timestamp)));

Rufen Sie den Verlauf der letzten Woche für Ihr Konto ab:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date));

Rufen Sie den Wartungsverlauf der vergangenen Woche für eine angegebene materialisierte Ansicht in Ihrem Konto ab:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date,
    materialized_view_name=>'mydb.myschema.my_materialized_view'));