- Schémas :
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;
+----------+----------------------+------------------+--------------------+--------------------+
| 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 |
+----------+----------------------+------------------+--------------------+--------------------+