Les RUNSTATS mises à jour de commande DB2 les statistiques du catalogue utilisées par l'optimiseur de base de données . L'optimiseur détermine le chemin que votre requête aura de renvoyer les résultats les plus rapides . Comme tables grandissent, RUNSTATS devient très coûteuse en temps car il doit traiter les données et de référence croisée avec les index de cette table. Les performances des requêtes va commencer à se dégrader si les statistiques du catalogue ne sont pas tenus à jour . Lors d'exécuter RUNSTATS
Exécuter RUNSTATS après que les données ont été chargées dans une table si les statistiques ne sont pas recueillies sur la charge. C'est aussi une bonne idée d'exécuter RUNSTATS après un nouvel indice est créé, après l'exécution de REORG , après la taille de prefetch a été changé et après l'exécution de l'utilitaire " Redistribuer la base de données de la partition de groupe " . RUNSTATS doivent également être exécutés après de nombreuses insertions, mises à jour ou suppressions ont été effectuées sur une table.
Réduire les performances impact
éviter d'exécuter RUNSTATS sur les tables qui n'ont pas besoin elle . Lors de l'exécution sur une table à volume élevé , d'identifier uniquement les colonnes utilisées dans les prédicats SQL que celles de collecter des statistiques sur . Planification de la commande à exécuter à des moments de faible volume est également importante. Étranglement peut aussi être utilisé pour limiter la quantité de ressources consommées par les activités de base de données .
Comment étranglement Works
L'instance de base de données est configuré pour utiliser des gaz en réglant UTIL_IMPACT_LIM à une valeur de zéro à 100 . Cent est le défaut et signifie qu'aucune limitation est effectuée. Le nombre représente le pourcentage de la charge de travail devrait être attribué à une commande d' utilitaire tel que RUNSTATS . Par exemple, si UTIL_IMPACT_LIM est fixé à 20, RUNSTATS consommeraient 20 pour cent de la charge de travail tout en permettant aux utilisateurs d'accéder à la base de données .
Automatique Statistiques Collection
Set auto_maint ON, mettez AUTO_TBL_MAINT sur ON et réglez auto_runstats sur ON pour permettre la collecte automatique des statistiques . Cette fonction est nouvelle dans DB2 UDB 8.2 . Cette fonction s'exécute automatiquement RUNSTATS en arrière-plan si nécessaire. Il est recommandé d'avoir étranglement allumé lorsque vous utilisez la collecte automatique des statistiques .