Génération et exécution de recommandations pour la collecte de statistiques liées aux charges de travail de requête s'exécutant sous DB2 for z/OS

L'assistant Statistiques de charge de travail permet aux administrateurs de base de données de collecter des statistiques pertinentes pour les instructions SQL dans la totalité d'une charge de travail de requête.

Avant de commencer

Pourquoi et quand exécuter cette tâche

L'assistant Statistiques de charge de travail génère un certain nombre de commandes RUNSTATS pour collecter les statistiques nécessaires pour les tables référencées par les instructions SQL dans une charge de travail de requête.

Il existe de nombreuses situations dans lesquelles les statistiques sont périmées ou en conflit les unes avec les autres. Il existe d'autres situations dans lesquelles les statistiques peuvent ne pas avoir été collectées. La collecte de statistiques de groupes de colonnes peut être chère. L'assistant Statistiques de charge de travail peut décider si les statistiques sont nécessaires, afin que vous ne perdiez pas de temps et de ressources dans la collecte de statistiques inutiles.

Une fois que l'assistant Statistiques de charge de travail a généré des commandes RUNSTATS pour la collecte de statistiques, vous pouvez passer en revue l'état en cours des statistiques et les problèmes que l'assistant y a trouvés. Si vous avez les droits d'accès appropriés pour la base de données, vous pouvez exécuter les instructions RUNSTATS que vous sélectionnez.

Procédure

  1. Créez une charge de travail des instructions SQL que vous souhaitez optimiser.
    1. Capturez les instructions SQL que vous souhaitez optimiser. Voir Emplacements à partir desquels vous pouvez capturer des instructions SQL pour créer des charges de travail de requête s'exécutant sous DB2 for z/OS.
    2. Après avoir capturé des instructions SQL, cliquez sur le bouton Tout sauvegarder dans une charge de travail.
    3. Dans la fenêtre Entrer le nom et la description de la charge de travail, spécifiez des informations pour identifier la nouvelle charge de travail de requête.
    La page Gérer et optimiser les charges de travail de la section Gérer s'ouvre. La nouvelle charge de travail de requête s'affiche dans la table sur cette page. Le statut de la charge de travail de requête est CAPTURED.
  2. Collecter des informations EXPLAIN sur les instructions SQL qui figurent dans la charge de travail de requête. L'assistant Flux de travaux doit exécuter l'instruction EXPLAIN pour chacune des instructions SQL qui se trouve dans la charge de travail de requête. L'assistant de statistiques de charge de travail requiert des informations à jour concernant les instructions SQL.
    1. Dans la page Gérer et optimiser les charges de travail, cliquez sur la charge de travail de requête.
    2. Cliquez sur l'icône Tâches dans la barre d'outils au-dessus de la table. La page Tâches s'ouvre et affiche les tâches qui sont planifiées pour s'exécuter sur la charge de travail de requête.
    3. Cliquez sur l'icône Explain. La fenêtre Planifier la collecte des informations EXPLAIN s'ouvre.
    4. Planifiez une tâche pour expliciter la charge de travail de requête. Pour obtenir de l'aide, cliquez sur l'icône d'aide dans l'angle inférieur gauche de la fenêtre. Si vous souhaitez que l'assistant de flux de travaux vous avertisse lorsque la tâche est terminée, cochez la case Recevoir une notification à la fin de la tâche planifiée.
    La tâche démarre à l'heure planifiée. Une fois qu'elle est terminée, passez à l'étape 3.
  3. Exécutez l'assistant de statistiques de charge de travail.
    1. Cliquez sur l'icône Appeler les assistants et outils, qui se trouve sur la partie gauche de la barre d'outils, au-dessus de la liste des charges de travail de requête. La page Exécuter des assistants de charge de travail de la section Appeler s'ouvre.
    2. Facultatif : Modifiez les valeurs des options pour l'assistant Statistiques de charge de travail.
      Cliquez sur Définir les options de l'assistant sous Charge de travail sur la gauche de la section Appeler. Ensuite, cliquez sur l'onglet Statistiques pour afficher les options que vous pouvez modifier. Pour obtenir de l'aide avec les options, cliquez sur l'icône Aide dans la section Statistiques. Après avoir terminé de modifier les valeurs pour les options, cliquez sur Exécuter les assistants de charge de travail sur la gauche de la section Passer en revue.
    3. Cliquez sur le bouton Sélectionner les éléments à exécuter.
    4. Dans la fenêtre Sélectionner des activités, cochez la case Statistiques et cliquez sur OK.
    La page Passer en revue les recommandations de l'assistant de charge de travail de la section Passer en revue s'ouvre. La section Récapitulatif de cette page indique si l'assistant de statistiques de charge de travail possède de nouvelles recommandations pour la charge de travail de requête.
  4. Dans la page Passer en revue les recommandations de l'assistant de charge de travail, cliquez sur l'onglet Statistiques s'il existe de nouvelles recommandations pour les commandes RUNSTATS.
  5. Utilisez ces colonnes pour décider quels objets ont les statistiques qui sont les plus importantes à corriger pour améliorer les performances de la charge de travail de requête.
    Cardinalité
    Nombre de lignes présentes dans la table. Si la cardinalité est inconnue, la valeur est -1.
    Nombre de référence
    Nombre d'instructions SQL dans la charge de travail de requête qui référence la table.
    Nombre de référence pondéré
    Poids de la requête multiplié par le nombre de référence. Les poids de requête sont appliqués uniquement aux instructions SQL qui sont capturées à partir d'un cache d'instruction ou à partir de la surveillance en utilisant la vue Liste de surveillance.
    Vous pouvez définir le poids de la requête dans les préférences globales. Dans la barre de menus principale, sélectionnez Fenêtre > Préférences. Dans la fenêtre Préférences, développez Gestion des données > Query Tuner > Optimiser la charge de travail et sélectionnez la page Options générales de charge de travail. Si vous changez le poids de la requête, vous devez fermer et rouvrir l'assistant de charge de travail pour que le changement soit effectif.
  6. Pour les tables les plus importantes, utilisez les deux sections des commandes RUNSTATS au-dessous pour rechercher les problèmes identifiés par l'assistant de statistiques de charge de travail.
    Rapport de l'assistant Statistiques
    Affiche toutes les statistiques pour les objets qui sont référencés par les instructions SQL dans la charge de travail de requête. Le rapport présente et annote les statistiques problématiques ainsi que les statistiques non problématiques.
    Conflits
    Affiche tous les conflits dans les statistiques pour les objets référencés par les instructions SQL dans la charge de travail de requête.
  7. Cochez la case de chacune des tables pour laquelle vous souhaitez exécuter l'une des options suivantes. Cliquez ensuite sur l'icône correspondante.
    Exécution
    Permet d'exécuter toutes les commandes RUNSTATS répertoriées.
    Copier
    Copie toutes les commandes RUNSTATS répertoriées vers le presse-papiers de système.
    Sauvegarder dans un fichier
    Sauvegarde toutes les commandes RUNSTATS répertoriées dans un fichier.
    Sauvegarder dans l'Historique des commandes RUNSTATS recommandées
    Sauvegarde toutes les commandes RUNSTATS répertoriées dans une table qui contient l'historique de toutes les commandes RUNSTATS qui ont été recommandées pour cette charge de travail de requête.
    DB2 10 for z/OS uniquement : créez un profil RUNSTATS pour les tables référencées
    Sauvegarde les options dans la commandes RUNSTATS sélectionnée en tant que profil RUNSTATS pour les tables correspondantes. Un profil RUNSTATS est un ensemble d'options sauvegardées pour la fonctionnalité RUNSTATS qui s'appliquent à une table particulière. DB2 utilise les profils RUNSTATS pour la maintenance des statistiques autonomes. Vous pouvez également utiliser les profils RUNSTATS pour appeler rapidement la fonctionnalité RUNSTATS avec un ensemble d'options prédéfini.
    DB2 10 for z/OS uniquement : mettez à jour le profil RUNSTATS pour les tables référencées
    Mettez à jour le profil RUNSTATS en cours pour les tables référencées avec les options dans les commandes RUNSTATS sélectionnées. Un profil RUNSTATS est un ensemble d'options sauvegardées pour la fonctionnalité RUNSTATS qui s'appliquent à une table particulière. DB2 utilise les profils RUNSTATS pour la maintenance des statistiques autonomes. Vous pouvez également utiliser les profils RUNSTATS pour appeler rapidement la fonctionnalité RUNSTATS avec un ensemble d'options prédéfini.
    Extraire les commandes RUNSTATS du serveur de base de données
    Affiche les commandes RUNSTATS que l'assistant Statistiques de charge de travail a précédemment recommandées pour la charge de travail de requête, si vous avez choisi de sauvegarder ces recommandations précédentes dans l'historique des commandes RUNSTATS recommandées.

Que faire ensuite

Générez et exécutez les recommandations à partir de l'assistant Index de charge de travail.

Commentaires