- Kategorien:
SEARCH_OPTIMIZATION_HISTORY¶
Diese Tabellenfunktion dient zum Abfragen des Wartungsverlaufs des Suchoptimierungsdienstes für bestimmte Tabellen innerhalb eines bestimmten Datumsbereichs. Die von der Funktion zurückgegebenen Informationen umfassen den Namen der Tabelle und die bei jeder Wartungsoperation der Suchoptimierung verbrauchten Credits.
Syntax¶
SEARCH_OPTIMIZATION_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , TABLE_NAME => '<string>' ] )
Argumente¶
Alle Argumente sind optional.
DATE_RANGE_START => constant_expr
, .DATE_RANGE_END => constant_expr
Der Datums-/Uhrzeitbereich, für den der Verlauf angezeigt werden soll. Wenn Sie beispielsweise angeben, dass das Startdatum 03.04.2019 und das Enddatum 05.04.2019 ist, dann erhalten Sie Daten für 3. April, 4. April und 5. April. (Die Endpunkte sind enthalten.)
Wenn weder Start- noch 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
.
TABLE_NAME => string
Der Tabellenname. Wenn angegeben, wird der Verlauf nur für die angegebene Tabelle angezeigt. Der Name kann den Schemanamen und den Datenbanknamen enthalten.
Wenn kein Name angegeben wird, enthalten die Ergebnisse die Daten jeder Tabelle mit aktivierter Suchoptimierung, die innerhalb des angegebenen Zeitraums gewartet wurde.
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-Berechtigung 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 repräsentiert.
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 Snowflake 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 des Suchindex im Fenster zwischen START_TIME und END_TIME in Rechnung gestellt werden. |
TABLE_NAME |
TEXT |
Name der Tabelle. |
Beispiele¶
Rufen Sie für Ihr Konto den Aktualisierungsverlauf für einen Bereich von einer Stunde ab:
select * from table(information_schema.search_optimization_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 | TABLE_NAME | |-------------------------------+-------------------------------+--------------+----------------------------------| | 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 | 0.223276651 | TEST_DB.TEST_SCHEMA.TEST_TABLE_1 | +-------------------------------+-------------------------------+--------------+----------------------------------+
Rufen Sie den Verlauf der letzten 12 Stunden für Ihr Konto ab:
select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(H, -12, current_timestamp)));
Rufen Sie den Verlauf der letzten Woche für eine angegebene Tabelle ab:
select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date, table_name=>'mydb.myschema.my_table') );
Rufen Sie den Wartungsverlauf der vergangenen Woche für alle Tabellen in Ihrem Konto ab:
select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date) );