- Schemas:
Ansicht QUERY_ATTRIBUTION_HISTORY¶
Mit dieser Account Usage-Ansicht können Sie die Kosten für eine bestimmte Abfrage ermitteln, die in den letzten 365 Tagen (1 Jahr) in den Warehouses Ihres Kontos ausgeführt wurde.
Weitere Informationen dazu finden Sie unter Kostenzuordnung für Abfragen.
Spalten¶
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
|
VARCHAR |
Interner/vom System generierter Bezeichner für die SQL-Anweisung. |
|
VARCHAR |
Die Abfrage-ID der übergeordneten Abfrage oder NULL, wenn die Abfrage kein übergeordnetes Objekt hat. |
|
VARCHAR |
Abfrage-ID der obersten Abfrage in der Kette oder NULL, wenn die Abfrage kein übergeordnetes Objekt hat. |
|
NUMBER |
Interner/systemgenerierter Bezeichner für das Warehouse, in dem die Abfrage ausgeführt wurde. |
|
VARCHAR |
Name des Warehouses, auf dem die Abfrage ausgeführt wurde |
|
VARCHAR |
Der Hash-Wert wird auf der Grundlage des kanonisierten SQL-Textes berechnet. |
|
VARCHAR |
Der Hash-Wert, der auf Grundlage der parametrisierten Abfrage berechnet wird. |
|
VARCHAR |
Abfrage-Tag, das für diese Anweisung über den Sitzungsparameter QUERY_TAG festgelegt wird. |
|
VARCHAR |
Benutzer, der die Abfrage ausgegeben hat. |
|
TIMESTAMP_LTZ |
Zeitpunkt, an dem die Ausführung der Abfrage gestartet wurde Abfrage (in der lokalen Zeitzone). |
|
TIMESTAMP_LTZ |
Zeitpunkt, an dem die Ausführung der Abfrage beendet wurde (in der lokalen Zeitzone) |
|
NUMBER |
Anzahl der dieser Abfrage zugeordneten Credits. Beinhaltet nur die Credit-Nutzung für die Ausführung der Abfrage und keine Warehouse-Leerlaufzeit. |
|
NUMBER |
Anzahl der Credits, die der Query Acceleration Service zur Beschleunigung der Abfrage verbraucht hat NULL wenn die Abfrage nicht beschleunigt ist. . . Die Gesamtkosten für eine beschleunigte Abfrage sind die Summe aus dieser Spalte und der Spalte |
Nutzungshinweise¶
Die Wartezeit für diese Ansicht kann bis zu sechs Stunden betragen.
In dieser Ansicht werden die Ergebnisse für alle Rollen angezeigt, die die USAGE_VIEWER- oder GOVERNANCE_VIEWER-Datenbankrollen haben.
Der Wert in der Spalte
credits_attributed_compute
enthält die Credit-Nutzung des Warehouses für die Ausführung der Abfrage, einschließlich der Größenanpassung und/oder automatischen Skalierung von Multi-Cluster-Warehouses. Diese Kosten werden auf der Grundlage des gewichteten Durchschnitts des Ressourcenverbrauchs zugewiesen.Der Wert enthält keine Credit-Nutzung für im Warehouse-Leerlaufzeiten. Die Leerlaufzeit ist ein Zeitraum, in dem keine Abfragen im Warehouse laufen und kann auf Warehouse-Ebene gemessen werden.
Der Wert beinhaltet keine andere Credit-Nutzung, die durch die Ausführung der Abfrage entsteht. Zum Beispiel sind die folgenden Kosten nicht in den Abfragekosten enthalten:
Datentransferkosten
Speicherkosten
Kosten für Clouddienst
Kosten für serverlose Features
Kosten für Token, die von AI-Diensten verarbeitet werden
Bei Abfragen, die gleichzeitig ausgeführt werden, werden die Kosten des Warehouse den einzelnen Abfragen auf der Grundlage des gewichteten Durchschnitts ihres Ressourcenverbrauchs während eines bestimmten Zeitintervalls zugewiesen.
Kurz laufende Abfragen (<= ~100 ms) sind derzeit zu kurz für eine Kostenzuordnung pro Abfrage und werden in der Ansicht nicht berücksichtigt.
Die Daten für alle Spalten sind ab Mitte August 2024 verfügbar. Einige Daten aus der Zeit vor diesem Datum sind möglicherweise in der Ansicht verfügbar, aber möglicherweise unvollständig.
Beispiele¶
Abfragekosten für den aktuellen Benutzer¶
Um die Kosten der vom aktuellen Benutzer ausgeführten Abfragen für den aktuellen Monat zu ermitteln, führen Sie die folgende Anweisung aus:
SELECT user_name, SUM(credits_attributed_compute) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY
WHERE user_name = CURRENT_USER()
AND start_time >= DATE_TRUNC('MONTH', CURRENT_DATE)
AND start_time < CURRENT_DATE
GROUP BY user_name;
Um die Warehouse-Kosten dem aktuellen Benutzer zuzuweisen, siehe Benutzerbasierte Zuordnung von Warehouse Kosten.
Abfragekosten für gespeicherte Prozeduren¶
Bei gespeicherten Prozeduren, die mehrere hierarchische Abfragen durchführen, können Sie die zugewiesenen Abfragekosten der Prozedur berechnen, indem Sie die Stammabfrage ID für die Prozedur verwenden.
Um die Stammabfrage-ID für eine gespeicherte Prozedur zu finden, verwenden Sie die Ansicht ACCESS_HISTORY. Um zum Beispiel die Stammabfrage-ID für eine gespeicherte Prozedur zu finden, stellen Sie
query_id
ein und führen Sie die folgenden Anweisungen aus:SET query_id = '<query_id>'; SELECT query_id, parent_query_id, root_query_id, direct_objects_accessed FROM SNOWFLAKE.ACCOUNT_USAGE.ACCESS_HISTORY WHERE query_id = $query_id;
Weitere Informationen dazu finden Sie unter Beispiel: Vorgängerabfragen mit gespeicherten Prozeduren.
Um die Summe der Abfragekosten für die gesamte Prozedur zu summieren, ersetzen Sie
<root_query_id>
und führen Sie die folgenden Anweisungen aus:SET query_id = '<root_query_id>'; SELECT SUM(credits_attributed_compute) AS total_attributed_credits FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY WHERE (root_query_id = $query_id OR query_id = $query_id);
Zusätzliche Beispiele¶
Weitere Beispiele finden Sie unter Zuweisung der Kosten nach Tag, Benutzer und Abfrage.