Test virtuel des index recommandés et des index que vous proposez

Vous pouvez tester les index recommandés et ceux que vous proposez sans avoir à les créer au préalable. Les résultats de chaque test vous montrent si les index améliorent les performances de l'instruction SQL en cours, l'espace disque estimé requis pour les index et si l'optimiseur DB2 utilise les index dans le chemin d'accès pour l'instruction SQL en cours.

Avant de commencer

Procédure

Pour tester virtuellement les index recommandés et les index que vous proposez :

  1. Si vous souhaitez optimiser une instruction SQL unique, procédez comme suit :
    1. Capturez l'instruction SQL que vous souhaitez optimiser. Voir Emplacements à partir desquels vous pouvez capturer une instruction SQL pour l'optimisation de requête unique.
    2. Sélectionnez les instructions et cliquez sur le bouton Appeler les assistants et les outils. La page Exécuter tous les assistants et outils d'analyse pour une requête unique de la section Appeler s'ouvre.
    3. Si vous ne savez pas si les statistiques des objets du plan d'accès sont valides pour l'instruction, exécutez l'assistant Statistiques, puis les instructions de contrôle RUNSTATS recommandées. Ensuite, après avoir sélectionné l'option Réexpliciter la requête sur la page Exécuter les assistants Requête unique et les outils, exécutez l'assistant Statistiques à nouveau pour vérifier qu'il n'existe pas d'autres recommandations supplémentaires.
  2. Si vous souhaitez optimiser une charge de travail de requête et tester les index virtuellement pour une instruction SQL unique faisant partie de cette charge, procédez comme suit :
    1. Si vous ne savez pas si les statistiques des objets des plans d'accès sont valides pour la charge de travail de la requête, exécutez l'assistant Statistiques de la charge de travail, puis les instructions de contrôle RUNSTATS recommandées. Ensuite, après avoir sélectionné l'option Réexpliciter la requête sur la page Exécuter les assistants Charge de travail, exécutez l'assistant Statistiques de la charge de travail à nouveau pour vérifier qu'il n'existe pas d'autres recommandations supplémentaires.
    2. Dans la page Afficher les instructions de la charge de travail, triez les instructions pour identifier celles qui ne répondent pas à vos exigences de performances. Vous pouvez ouvrir cette page dans la section Gérer.
    3. Cliquez avec le bouton droit de la souris sur l'instruction, puis sélectionnez Run Single-query Advisors and Tools on the Selected Statement (Exécuter les assistants Requête unique et les outils sur l'instruction sélectionnée).
  3. Si vous souhaitez uniquement tester les index que vous proposez : Dans la partie gauche de l'assistant de flux de travaux, développez Avancé sous Requête unique. Sélectionnez Tester les index candidats. La page Tester les index candidats s'ouvre.
  4. Si vous souhaitez tester les index que l'assistant Index recommande ainsi que ceux que vous proposez, procédez comme suit.
    1. Sélectionnez l'option Réexpliciter la requête sur la page Exécuter les assistants Requête unique et les outils.
    2. Exécute l'assistant Index pour générer des recommandations relatives aux nouveaux index.
    3. Si l'assistant Index génère des recommandations, cliquez deux fois sur la ligne Index dans la table Récapitulatif de la page Consulter les recommandations de l'assistant Requête unique de la section Consulter. La section Index s'ouvre.
    4. Cliquez sur le bouton Tester les index candidats.
  5. Sur la page Tester les index candidats, sélectionnez les index que vous souhaitez tester virtuellement.
    La table Index candidats
    Si vous avez exécuté l'assistant Index, les nouveaux index recommandés sont répertoriés dans cette table. Vous pouvez éditer ces définitions d'index ou les laisser telles quelles.

    Vous pouvez ajouter et éditer vos propres index dans la table en cliquant sur Ajouter un index.

    La table Index existants
    Pour que vous puissiez vous y référer, cette table répertorie tous les index existants sur les tables référencées par l'instruction SQL en cours.
    Cette table contient une colonne intitulée Supprimer virtuellement. Cochez la case des index existants que vous ne souhaitez pas inclure dans le test virtuel.
    Cette case est cochée par défaut dans les situations suivantes :
    • Une recommandation indique que l'index doit être modifié, et l'index de remplacement figure dans la table Tester les index candidats. Vous ne pouvez pas inclure dans le test les index qui doivent être modifiés d'après une recommandation de l'assistant Index.
    • Une recommandation indique que l'index doit être supprimé. Vous pouvez décocher la case pour inclure l'index dans le test.
  6. Après avoir ajouté et édité les index que vous souhaitez tester virtuellement, cliquez sur le bouton Tester les index candidats.
  7. Dans la fenêtre Tester les index candidats, personnalisez les statistiques des index ou conservez les statistiques par défaut. Vous pouvez également choisir de générer un graphique de plan d'accès pour l'instruction indiquant si les index du test doivent être inclus ou non dans le nouveau plan d'accès. Cliquez ensuite sur OK pour exécuter le test.

Résultats

En haut à gauche de l'assistant de flux de travaux, une entrée intitulée "Test Candidate Index n" s'affiche, où n correspond à un chiffre augmentant par incréments de 1 à chaque test effectué sur la même instruction SQL dans un projet Query Tuner unique.

Si vous avez choisi de générer un graphique de plan d'accès, ce graphique s'affiche. Pour ouvrir la fenêtre Consulter les résultats des tests effectués sur les index candidats, sélectionnez Tester les index candidats à gauche de l'assistant de flux de travaux.

Si vous n'avez pas choisi de générer un graphique de plan d'accès, la page Consulter les résultats des tests effectués sur les index candidats s'ouvre. Cette page répertorie les index testés et indique si le plan d'accès a utilisé tous les index.

Que faire ensuite

Si vous décidez de créer un ou plusieurs des index que vous avez testés, cliquez avec le bouton droit de la souris et sélectionnez Afficher le langage de définition de données. Copiez ou enregistrez le langage de définition de données afin de pouvoir l'exécuter en dehors de l'assistant de flux de travaux. Répétez cette étape pour chaque index que vous souhaitez créer.

Si vous souhaitez exécuter un autre test, revenez aux recommandations émises par l'assistant Index en cliquant sur l'entrée "Analysis Result n" correspondante en haut à gauche de l'assistant de flux de travaux.


Commentaires