0 / 0
Retourner à la version anglaise de la documentation
Collecte de statistiques pour toutes les autres sources de données
Dernière mise à jour : 26 nov. 2024
Collecte de statistiques pour toutes les autres sources de données dans le cadre de la Data Virtualization

Vous pouvez utiliser DVSYS.COLLECT_STATISTICS permet de collecter des statistiques pour tous les objets virtualisés, à l'exception des objets définis dans le stockage d'objets.

L'exemple suivant montre comment collecter des statistiques avec le type de collecte remote-catalog de la procédure DVSYS.COLLECT_STATISTICS.
call DVSYS.COLLECT_STATISTICS('schema',  'table_name', 'list_of_columns_commonly_used_in_predicates', 1, null, ?);

Cet appel collecte des statistiques de niveau table et de niveau colonne pour les colonnes incluses dans l'argument list_of_columns_commonly_used_in_predicates. Si la table comporte peu de colonnes, vous pouvez collecter des statistiques pour toutes les colonnes de la table en indiquant la valeur null au lieu d'une liste de colonnes. Pour éviter de collecter des statistiques de colonne, indiquez la chaîne vide ('') à la place.

Le type de collecte " remote-catalog n'est pas pris en charge par toutes les sources de données, et certaines sources de données qui prennent en charge le type de collecte " remote-catalog ne prennent pas en charge toutes les statistiques clés utilisées par la Data Virtualization. Dans les deux cas, il peut être nécessaire d'utiliser le type de collecte de statistiques remote-query . L'exemple suivant est similaire à l'exemple précédent, mais utilise plutôt le type de collection remote-query.

call DVSYS.COLLECT_STATISTICS('schema', 'table_name', 'list_of_columns_commonly_used_in_predicates', 2, null, ?);
Ce type de collecte de statistiques exige beaucoup de ressources et prend beaucoup de temps. Si la table virtualisée dispose de plusieurs lignes ou statistiques pour de nombreuses colonnes, envisagez de collecter des statistiques lorsque le système est moins occupé. Si la table comporte plus de 1000 lignes, vous pouvez utiliser l'échantillonnage (spécifiez l'option TABLESAMPLE) pour réduire les ressources utilisées par la collecte de statistiques et améliorer les performances. L'exemple suivant utilise un taux d'échantillonnage de données de 25%:
call DVSYS.COLLECT_STATISTICS('schema', 'table_name', 'list_of_columns_commonly_used_in_predicates', 2, 'TABLESAMPLE=25', ?);
Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.