Fonction DYNAMIC_TABLES : Nouvelle valeur par défaut pour le nombre maximum de lignes renvoyées¶
Attention
Ce changement de comportement fait partie du bundle 2025_02.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
La fonction DYNAMIC_TABLES se comporte comme suit :
- Avant la modification:
Par défaut, la fonction renvoie toutes les lignes dans un ordre non trié lorsque RESULT_LIMIT n’est pas spécifié. Par exemple, si un compte possède 10 000 tables dynamiques, la fonction renvoie 10 000 lignes.
- Après la modification:
Par défaut, la fonction renvoie 100 lignes et les résultats sont triés en fonction du dernier état d’actualisation terminé de la table dynamique dans l’ordre suivant, sauf indication contraire à l’aide de l’argument RESULT_LIMIT.
FAILED
UPSTREAM_FAILED
SKIPPED
SUCCEEDED
CANCELED
Pour trier dans un ordre différent, vous devez fournir une valeur RESULT_LIMIT suffisamment grande (par exemple, la valeur maximale d’un entier signé). Tant que RESULT_LIMIT dépasse le nombre total de tables dynamiques dans le compte, les résultats peuvent être triés à l’aide d’une clause ORDER BY.
Pour appliquer un filtre sur les résultats, indiquez également une valeur RESULT_LIMIT suffisamment grande pour que le filtre soit appliqué à toutes les tables dynamiques.
Exemples :
L’exemple suivant effectue un tri selon un ordre différent de
name
et renvoie 100 lignes :SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
L’exemple suivant effectue un tri selon un ordre différent de
name
et renvoie toutes les lignes :SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
L’exemple suivant filtre toutes les tables dynamiques avec une latence cible de 1 minute, utilise le tri par défaut et renvoie toutes les lignes :
SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Réf : 1928