Schémas :

ACCOUNT_USAGE

Vue TABLE_DML_HISTORY

Cette vue Account Usage peut être utilisée pour déterminer l’ampleur et les effets des opérations DML effectuées sur une table. Notez que ces opérations DML comprennent celles initiées par Snowpipe mais excluent les opérations initiées par les services de maintenance en arrière-plan (par exemple, Clustering automatique, maintenance des vues matérialisées et optimisation de la recherche).

Vous pouvez interroger cette vue avec Vue QUERY_HISTORY et Vue LOAD_HISTORY pour identifier les opérations DML qui ont un impact significatif. Cela peut vous aider à identifier les opportunités d’optimisation.

De plus, vous pouvez interroger cette vue avec Vue AUTOMATIC_CLUSTERING_HISTORY et Vue SEARCH_OPTIMIZATION_HISTORY pour visualiser la relation entre ces opérations DML et les crédits facturés pour le clustering automatique et le service d’optimisation de la recherche. (Ces services peuvent être déclenchés par des opérations DML.)

Colonnes

Nom de la colonne

Type de données

Description

START_TIME

TIMESTAMP_LTZ

Début de la plage horaire (sur la marque horaire) pendant laquelle les opérations DML ont été réalisées.

END_TIME

TIMESTAMP_LTZ

Fin de la plage horaire (sur la marque horaire) pendant laquelle les opérations DML ont été réalisées.

TABLE_ID

NUMBER

Identificateur interne/généré par le système pour la table modifiée par les opérations DML.

TABLE_NAME

TEXT

Nom de la table modifiée par les opérations DML.

SCHEMA_ID

NUMBER

Identificateur interne/généré par le système pour le schéma contenant la table modifiée par les opérations DML.

SCHEMA_NAME

TEXT

Nom du schéma contenant la table modifiée par les opérations DML.

DATABASE_ID

NUMBER

Identificateur interne/généré par le système de la base de données contenant la table modifiée par les opérations DML.

DATABASE_NAME

TEXT

Nom de la base de données contenant la table modifiée par les opérations DML.

ROWS_ADDED

NUMBER

Nombre de lignes ajoutées par les opérations DML effectuées par les utilisateurs sur la table dans période START_TIME -END_TIME.

ROWS_REMOVED

NUMBER

Nombre de lignes supprimées par les opérations DML effectuées par les utilisateurs sur la table dans la période START_TIME -END_TIME.

ROWS_UPDATED

NUMBER

Nombre de lignes mises à jour par les opérations DML effectuées par les utilisateurs sur la table dans la période START_TIME - END_TIME.

Notes sur l’utilisation

  • La latence pour la vue peut atteindre 6 heures.

  • Cette vue n’inclut pas les opérations DML sur les tables hybrides.

Exemples

L’exemple suivant renvoie les cinq premières tables qui ont eu le plus de lignes ajoutées, supprimées et mises à jour par les opérations DML au cours des sept derniers jours.

SELECT
    table_id,
    ANY_VALUE(table_name) AS table_name,
    SUM(rows_added) AS total_rows_added,
    SUM(rows_removed) AS total_rows_removed,
    SUM(rows_updated) AS total_rows_updated
  FROM SNOWFLAKE.ACCOUNT_USAGE.TABLE_DML_HISTORY
  WHERE start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())
  GROUP BY table_id
  ORDER BY total_rows_added + total_rows_removed + total_rows_updated DESC
  LIMIT 5;
Copy
+----------+----------------------+------------------+--------------------+--------------------+
| TABLE_ID | TABLE_NAME           | TOTAL_ROWS_ADDED | TOTAL_ROWS_REMOVED | TOTAL_ROWS_UPDATED |
|----------+----------------------+------------------+--------------------+--------------------|
|   338948 | SENSOR_DATA_TS       |          5356800 |             259200 |                  0 |
|   338950 | SENSOR_DATA_DEVICE2  |          2678400 |                  0 |                  0 |
|   341006 | SENSOR_DATA_30_ROWS  |               30 |                  0 |                  0 |
|   341004 | SENSOR_DATA_12_HOURS |               12 |                  0 |                  0 |
|   340005 | SENSOR_DATA_12_HOURS |               12 |                  0 |                  0 |
+----------+----------------------+------------------+--------------------+--------------------+