Schemas:

ACCOUNT_USAGE

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

query_id

VARCHAR

Interner/vom System generierter Bezeichner für die SQL-Anweisung.

parent_query_id

VARCHAR

Die Abfrage-ID der übergeordneten Abfrage oder NULL, wenn die Abfrage kein übergeordnetes Objekt hat.

root_query_id

VARCHAR

Abfrage-ID der obersten Abfrage in der Kette oder NULL, wenn die Abfrage kein übergeordnetes Objekt hat.

warehouse_id

NUMBER

Interner/systemgenerierter Bezeichner für das Warehouse, in dem die Abfrage ausgeführt wurde.

warehouse_name

VARCHAR

Name des Warehouses, auf dem die Abfrage ausgeführt wurde

query_hash

VARCHAR

Der Hash-Wert wird auf der Grundlage des kanonisierten SQL-Textes berechnet.

query_parameterized_hash

VARCHAR

Der Hash-Wert, der auf Grundlage der parametrisierten Abfrage berechnet wird.

query_tag

VARCHAR

Abfrage-Tag, das für diese Anweisung über den Sitzungsparameter QUERY_TAG festgelegt wird.

user_name

VARCHAR

Benutzer, der die Abfrage ausgegeben hat.

start_time

TIMESTAMP_LTZ

Zeitpunkt, an dem die Ausführung der Abfrage gestartet wurde Abfrage (in der lokalen Zeitzone).

end_time

TIMESTAMP_LTZ

Zeitpunkt, an dem die Ausführung der Abfrage beendet wurde (in der lokalen Zeitzone)

credits_attributed_compute

NUMBER

Anzahl der dieser Abfrage zugeordneten Credits. Beinhaltet nur die Credit-Nutzung für die Ausführung der Abfrage und keine Warehouse-Leerlaufzeit.

credits_used_query_acceleration

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 credits_attributed_compute.

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;
Copy

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.

  1. 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;
    
    Copy

    Weitere Informationen dazu finden Sie unter Beispiel: Vorgängerabfragen mit gespeicherten Prozeduren.

  2. 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);
    
    Copy

Zusätzliche Beispiele

Weitere Beispiele finden Sie unter Zuweisung der Kosten nach Tag, Benutzer und Abfrage.