2008-10-03 6 views
2

J'ai quelques questions sur l'optimisation de ce type de charge.Charge de table via Partition Exchange (Oracle 10g)

Un construit une nouvelle table de données à charger dans une table partitionnée, puis construit les index sur cette nouvelle table.

  1. Si vous construire l'index avec l'option COMPUTE STATISTICS ou utilisez l'option Cascade des DBMS_STATS?

  2. Devriez-vous recueillir des statistiques sur la table avant le swap ou sur la partition après le swap?

  3. Si vous le faites après le swap et que vous spécifiez le nom de la partition dans la liste des paramètres, quelle est l'interaction du paramètre de granularité? Par exemple, si je spécifie un nom de partition, puis que je mets la granularité à 'GLOBAL AND PARTITION' cela fait-il du Global? Fait-il juste cette partition?

Répondre

1

Si vous construire l'index avec l'option COMPUTE STATISTICS ou utilisez l'option Cascade des DBMS_STATS?

S'il s'agit d'un entrepôt de données, commencez par ne pas rassembler de statistiques et utilisez l'échantillonnage dynamique. Deuxièmement, si vous recueillez des statistiques, utilisez des statistiques de calcul sur l'index.

Si vous rassemblez des statistiques sur la table avant le swap ou sur la partition après le swap?

recueillir des statistiques sur la table nouvelle données avant l'échange pour obtenir des statistiques de partition sur les nouvelles données - recueillir des statistiques sur la suite table partitionnée pour recueillir des statistiques de table

Si vous le faites après la swap et vous spécifiez le nom de la partition dans la liste des paramètres, quelle est l'interaction du paramètre granularity? Par exemple, si je spécifie un nom de partition, puis que je mets la granularité à 'GLOBAL AND PARTITION' cela fait-il du Global? Est-ce que c'est juste une partition?

Voir ci-dessus. Sérieusement, ne donnez aucune chance aux statistiques et à l'échantillonnage dynamique.

+0

c'est un tableau de rapport. Une requête complexe matérialisée une fois par jour. Est-ce un DW? Probablement pas, peut-être un peu. C'est un très bon conseil sur l'échantillonnage dynamique, je vais devoir l'essayer. Et la partie sur la table et la partition est un peu là où elle se penche. Logique. –

0
  1. DBMS_STATS est considérée comme la façon de calculer les statistiques pour cette version. Construire l'index avec le COMPUTE STATISTICS est faisable, mais généralement vous voulez calculer toutes vos statistiques en même temps et prendre des instantanés.

  2. Vous souhaitez recueillir des statistiques après le swap. De cette façon, l'optimiseur fera la meilleure estimation pour l'exécution de requêtes en utilisant les données de ces partitions.

  3. Pourquoi voudriez-vous mettre les deux?

+0

Pourquoi voudriez-vous mettre les deux? Statistiques de table et de partition? parce qu'ils sont utilisés indépendamment et les deux sont nécessaires. –

Questions connexes