- Catégories :
SEARCH_OPTIMIZATION_HISTORY¶
Cette fonction de table est utilisée pour interroger l’historique de maintenance du service d’optimisation de recherche pour une table spécifiée à l’intérieur d’une plage de dates spécifiée. Les informations renvoyées par la fonction incluent le nom de la table et les crédits consommés chaque fois qu’une opération de maintenance d’optimisation de recherche a lieu.
Syntaxe¶
SEARCH_OPTIMIZATION_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , TABLE_NAME => '<string>' ] )
Arguments¶
Tous les arguments sont facultatifs.
DATE_RANGE_START => constant_expr
, .DATE_RANGE_END => constant_expr
La plage de date/heure pour laquelle afficher l’historique. Par exemple, si vous spécifiez que la date de début est 2019-04-03 et que la date de fin est 2019-04-05, vous obtenez des données pour le 3, le 4 et 5 avril. (Les points de terminaison sont inclus.)
Si ni date de début, ni date de fin n’est spécifiée, la valeur par défaut correspondra aux 12 dernières heures.
Si aucune date de fin n’est spécifiée, mais si une date de début l’est, alors CURRENT_DATE à minuit est utilisée comme date de fin de plage.
Si aucune date de début n’est spécifiée, mais qu’une date de fin est spécifiée, la plage commence 12 heures avant le début de
DATE_RANGE_END
.
TABLE_NAME => string
Le nom de la table. Si spécifié, affiche uniquement l’historique de la table spécifiée. Le nom peut inclure le nom du schéma et le nom de la base de données.
Si aucun nom n’est spécifié, les résultats comprennent les données pour chaque table qui a une optimisation de recherche pour laquelle la maintenance a eu lieu dans la période spécifiée.
Notes sur l’utilisation¶
Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN ou tout rôle auquel le privilège global MONITOR USAGE a été explicitement accordé.
Note
Un rôle doté du privilège MONITOR USAGE peut afficher l’utilisation du crédit par objet, mais pas les noms d’objet. Il est également nécessaire d’accorder SELECT au rôle sur un objet pour que le nom de l’objet soit renvoyé par cette fonction. Si le rôle ne dispose pas des privilèges suffisants pour voir le nom de l’objet, celui-ci peut être affiché avec un nom de substitution tel que « inconnu_# », où « # » représente un ou plusieurs chiffres.
Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.
L’historique est affiché par incréments de 1 heure.
Sortie¶
La fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
Début de l’intervalle de temps spécifié. |
END_TIME |
TIMESTAMP_LTZ |
Fin de l’intervalle de temps spécifié. |
CREDITS_USED |
TEXT |
Nombre de crédits facturés pour la maintenance de l’index de recherche durant la fenêtre START_TIME et END_TIME. |
TABLE_NAME |
TEXT |
Nom de la table. |
Exemples¶
Récupérer l’historique d’une durée d’une heure pour votre compte :
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'));Voici un exemple de sortie :
+-------------------------------+-------------------------------+--------------+----------------------------------+ | 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 | +-------------------------------+-------------------------------+--------------+----------------------------------+
Récupérer l’historique des 12 dernières heures pour votre compte :
select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(H, -12, current_timestamp)));
Récupérer l’historique de la semaine passée pour une table spécifiée :
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') );
Récupérer l’historique de maintenance de la semaine écoulée pour toutes les tables de votre compte :
select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date) );