Les sources de données sont différentes dans leur support de la collecte de statistiques locales et prennent en charge des statistiques de colonnes différentes. Ils soutiennent également différentes méthodes de collecte des statistiques.
- remote-catalog
- Ce type de collecte de statistiques est uniquement pris en charge pour les tables virtualisées dans des sources de données distantes qui prennent en charge une méthode locale de collecte de statistiques. Les statistiques stockées dans les tables du catalogue de la source de données distante sont récupérées puis stockées dans le catalogue de statistiques de Data Virtualization.Il est essentiel de s'assurer que des statistiques précises sont disponibles dans la source de données distante. Le type de collecte de statistiques remote-catalog n'est pas pris en charge pour les tables groupées.
Le tableau suivant identifie les sources de données qui prennent en charge la collecte de statistiques locales et indique les statistiques de colonne disponibles.
Source de données | Statistiques de base disponibles | Prend en charge remote-catalog
|
Prend en charge remote-query
|
---|---|---|---|
Amazon Redshift | CARD, COLCARD, NUMNULLS | ✓ | ✓ |
Amazon S3 | Voir Collecte de statistiques pour les données dans le stockage d'objets. | Non | ✓ |
Ceph® | Voir Collecte de statistiques pour les données dans le stockage d'objets. | Non | ✓ |
Cloudera Impala | CARD, COLCARD, NUMNULLS. Les versions récentes d'Impala (1.4 et suivantes) ne collectent pas NUMNULLS. | ✓ | ✓ |
Databases for PostgreSQL | CARD, COLCARD, NUMNULLS | ✓ | ✓ |
Db2® | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
Db2 Big SQL | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
Db2 for z/OS | CARD, COLCARD, HIGH2KEY, LOW2KEY | ✓ | ✓ |
Db2 on Cloud | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
S3 générique | Voir Collecte de statistiques pour les données dans le stockage d'objets. | Non | ✓ |
Greenplum | CARD, COLCARD, NUMNULLS | ✓ | ✓ |
Hive | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ (Non recommandé)
|
✓ |
IBM® Cloud Object Storage | Voir Collecte de statistiques pour les données dans le stockage d'objets. | Non | ✓ |
Informix | CARD, COLCARD | ✓ | ✓ |
MariaDB | CARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
Microsoft SQL Server | CARD, COLCARD | ✓ | ✓ |
MySQL | CARD, COLCARD | ✓ | ✓ |
Netezza Performance Server | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
Oracle | CARD, COLCARD, HIGH2KEY, LOW2KEY, NUMNULLS | ✓ | ✓ |
SAP ASE | CARD | ✓ | ✓ |
SAP HANA | CARD, COLCARD | ✓ | ✓ |
Snowflake | CARD | ✓ | ✓ |
Teradata | CARD, COLCARD, NUMNULLS | ✓ | ✓ |
Amazon Redshift
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit Amazon Redshift . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Amazon Redshift ne prend pas en charge les statistiques HIGH2KEY ou LOW2KEY . De plus, la commande ANALYZE ne collecte pas de statistiques pour les données de colonne CHAR et NCHAR si la longueur des données de colonne dépasse 1020 octets. Si une colonne contient uniquement des valeurs NULL, les statistiques de colonne ne sont pas collectées.
Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Cloudera Impala
Pour collecter des statistiques de table locale, utilisez l'instruction COMPUTE STATS , comme décrit dans la documentation du produit Cloudera Impala . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Cloudera Impala ne prend pas en charge les statistiques HIGH2KEY ou LOW2KEY et les versions plus récentes de Impala ne prennent pas en charge les statistiques NUMNULLS. Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Bases de données pour PostgreSQL
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit PostgreSQL . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
PostgreSQL ne prend pas en charge les statistiques HIGH2KEY ou LOW2KEY . Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Db2 et Db2 on Cloud
Pour collecter des statistiques de table locale pour ces sources de données, utilisez la commande RUNSTATS . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Avec ce type, les valeurs HIGH2KEY et LOW2KEY (représentant les deuxièmes valeurs les plus élevées et les deuxièmes plus faibles de la table) sont copiées à partir du catalogue Db2 . Avec le type remote-query , les valeurs HIGH2KEY et LOW2KEY représentent les valeurs la plus élevée et la plus faible de la table.
Db2 Big SQL
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Avec les deux types, les valeurs HIGH2KEY et LOW2KEY représentent les valeurs la plus élevée et la plus faible de la table.
Db2 for z/OS
Pour collecter des statistiques de table locale, utilisez la commande RUNSTATS . Les statistiques ne sont pas collectées pour les types LOB. La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Avec cette méthode, les valeurs HIGH2KEY et LOW2KEY (représentant les deuxièmes valeurs les plus élevées et les deuxièmes plus faibles de la table) sont copiées à partir du catalogue Db2 . Avec le type de collection remote-query , les valeurs HIGH2KEY et LOW2KEY représentent les valeurs les plus élevées et les plus faibles de la table.
Db2 for z/OS® ne prend pas en charge les statistiques NUMNULLS. Si vos requêtes bénéficient de cette statistique, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Greenplum
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit Greenplum . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Greenplum ne prend pas en charge les statistiques HIGH2KEY ou LOW2KEY . Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Hive
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit Hive . Le type de collecte de statistiques remote-catalog dans Hive n'est pas recommandé en raison des problèmes connus liés à la collecte de statistiques dans Hive. Utilisez le type de collecte de statistiques remote-query à la place. Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Informix
Pour collecter des statistiques de table locale, utilisez l'instruction UPDATE STATISTICS , comme décrit dans la documentation du produit Informix® . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Informix ne prend pas en charge les statistiques HIGH2KEY, LOW2KEYou NUMNULLS. Il collecte uniquement CARD (cardinalité de table) et COLCARD (cardinalité de colonne). Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query .. Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
MariaDB
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit MariaDB . Les statistiques pour les colonnes de type TEXT ou BLOB ne sont pas collectées. La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Vous devez disposer de privilèges d'administration pour accéder aux statistiques de catalogue, ce qui est obligatoire lorsque vous utilisez le type de collecte de statistiques remote-catalog .
MariaDB ne prend pas en charge les statistiques COLCARD. Si vos requêtes bénéficient de cette statistique, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Microsoft SQL Server
Pour collecter des statistiques de table locale, utilisez l'instruction UPDATE STATISTICS , comme décrit dans la documentation du produit Microsoft SQL Server . Les statistiques des colonnes de type XML ne sont pas collectées. La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Microsoft SQL Server collecte uniquement CARD (cardinalité de la table) et COLCARD (cardinalité de colonne). Il ne prend pas en charge les statistiques HIGH2KEY, LOW2KEYou NUMNULLS. Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
MySQL
Pour collecter des statistiques de table locale, utilisez l'instruction ANALYZE TABLE , comme décrit dans la documentation du produit MySQL . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
MySQL collecte uniquement CARD (cardinalité de la table) et COLCARD (cardinalité de colonne). Il ne prend pas en charge les statistiques HIGH2KEY, LOW2KEYou NUMNULLS. Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Netezza Performance Server
Pour collecter des statistiques de table locale, utilisez la commande GENERATE STATISTICS , comme décrit dans la documentation du produit Netezza® . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Avec les deux types, les valeurs HIGH2KEY et LOW2KEY représentent les valeurs la plus élevée et la plus faible de la table.
Oracle
Pour collecter des statistiques de table locale, utilisez la commande ANALYZE , comme décrit dans la documentation du produit Oracle . Vous pouvez également collecter des statistiques à l'aide de la procédure DBMS_STATS.GATHER_TABLE_STATS. Vous pouvez également configurer la collecte automatique de statistiques dans la source de données distante Oracle . Les statistiques ne sont pas collectées pour les types LOB. La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog . Avec les deux types, les valeurs HIGH2KEY et LOW2KEY représentent les valeurs la plus élevée et la plus faible de la table.
SAP ASE
Pour collecter des statistiques de table locale, utilisez l'instruction UPDATE STATISTICS , comme décrit dans la documentation du produit SAP ASE . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
SAP ASE collecte uniquement CARD (cardinalité de la table). Il ne prend pas en charge les statistiques COLCARD, HIGH2KEY, LOW2KEYou NUMNULLS. Utilisez le type de collecte de statistiques remote-query pour les colonnes de clé utilisées dans les prédicats. Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
SAP HANA
Pour collecter des statistiques de table locale, utilisez l'instruction CREATE STATISTICS ON , comme décrit dans la documentation du produit SAP HANA . La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
SAP HANA collecte uniquement CARD (cardinalité de la table) et COLCARD (cardinalité de colonne). Il ne prend pas en charge les statistiques HIGH2KEY, LOW2KEYou NUMNULLS. Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Snowflake
Snowflake ne prend pas en charge une méthode explicite de collecte de statistiques. Cependant, la colonne ROW_COUNT de la table de catalogue INFORMATION_SCHEMA.TABLES stocke la valeur de cardinalité de la table (CARD) dans le cadre de la collecte des statistiques de Data Virtualization. La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Snowflake collecte uniquement CARD (cardinalité de la table). Il ne prend pas en charge les statistiques COLCARD, HIGH2KEY, LOW2KEYou NUMNULLS. Utilisez le type de collecte de statistiques remote-query pour les colonnes de clé utilisées dans les prédicats. Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Teradata
Pour collecter des statistiques de table locale, utilisez la commande COLLECT STATISTICS , comme décrit dans la documentation du produit Teradata . Indiquez l'option THRESHOLD pour éviter la collecte de statistiques redondantes. Avec cette option, si la quantité de données qui a été modifiée depuis la dernière collecte de statistiques est inférieure à un seuil spécifié, ou si les statistiques sont plus récentes qu'un âge spécifié, Teradata ne se souvient pas des statistiques. Les statistiques ne sont pas collectées pour le type PERIOD (à l'exception des expressions BEGIN et END), le type XML, BLOB ou CLOB ou tout type défini par l'utilisateur (autre qu'un type géospatial). La meilleure pratique consiste à s'assurer que les statistiques sont collectées dans la source de données distante et à utiliser le type de collecte de statistiques remote-catalog .
Teradata ne prend pas en charge les statistiques HIGH2KEY ou LOW2KEY . Si vos requêtes bénéficient de ces statistiques, utilisez le type de collecte de statistiques remote-query . Ce type peut mobiliser beaucoup de ressources et prendre beaucoup de temps si la table virtualisée contient de nombreuses lignes ou statistiques pour de nombreuses colonnes. Envisagez de collecter des statistiques lorsque le système est moins occupé. Evitez de planifier plusieurs travaux de collecte de statistiques en même temps.
Sources de données IBM Cloud Object Storage, Amazon S3, Ceph, ou S3 génériques
Pour collecter des statistiques sur les tables virtualisées dans les sources de données IBM Cloud Object Storage, Amazon S3, Ceph, ou S3 génériques, utilisez la commande ANALYZE .
Si la table contient une grande quantité de données, spécifiez l'option TABLESAMPLE pour collecter des statistiques sur un sous-ensemble des données de sorte que l'opération d'analyse puisse se terminer plus tôt.
Voir aussi Collecte de statistiques pour les données dans le stockage d'objets.