Suppression virtuelle d'index existants avant l'exécution de l'assistant Index de charge de travail sur les charges de travail de requête s'exécutant sous DB2 for z/OS

Vous pouvez obtenir des recommandations pour des index après la suppression virtuelle d'un ou de plusieurs index se trouvant actuellement dans les plans d'accès pour les instructions SQL dans une charge de travail de requête.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Au cours de cette procédure, vous créez une charge de travail de requête pour les instructions SQL à optimiser. Ensuite, vous exécutez deux fois l'assistant Statistiques de la charge de travail et vous appliquez les recommandations émises. Puis vous supprimez virtuellement les index existants se trouvant dans les plans d'accès pour les instructions SQL, et vous exécutez l'assistant Index de charge de travail.

Procédure

Pour supprimer virtuellement des index existants avant l'exécution de l'assistant Index de charge de travail :

  1. Créez la charge de travail de requête 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. Exécutez l'assistant Statistiques de la charge de travail pour générer les instructions de contrôle RUNSTATS afin d'améliorer les statistiques des objets se trouvant dans les plans d'accès des instructions SQL de la charge de travail de la requête. Ensuite, exécutez les instructions de contrôle RUNSTATS recommandées. Voir Génération et application de recommandations en matière de collecte des statistiques pour les charges de travail de requête s'exécutant sous DB2 for z/OS.
  3. Exécutez de nouveau l'assistant Statistiques de charge de travail pour définir si l'assistant possède des recommandations supplémentaires. Implémentez les éventuelles recommandations supplémentaires de l'assistant.
  4. Réexplicitez la charge de travail de requête.
    1. Retournez à la section Gérer de l'assistant de flux de travaux.
    2. Sélectionnez Liste des charges de travail à gauche de l'assistant de flux de travaux.
    3. Sélectionnez la charge de travail de requête. Ensuite, sélectionnez Expliciter la charge de travail sélectionnée dans la zone Plus d'actions.
    4. Une fois la tâche EXPLAIN terminée, assurez-vous que le cache local du catalogue système est à jour.
  5. Retournez à la page Exécuter les assistants Charge de travail de la section Appeler.
  6. Sélectionnez Tester les index candidats de la charge de travail à gauche de l'assistant de flux de travaux. La page Tester les index candidats de la charge de travail s'ouvre. La table située dans la moitié inférieure de la page répertorie les index se trouvant dans les plans d'accès pour les instructions SQL de la charge de travail de la requête.
  7. Dans la colonne Supprimer virtuellement, sélectionnez les index que l'assistant Index de charge de travail ne doit pas prendre en compte lors de la génération des recommandations d'index pour la charge de travail de la requête.
  8. Cliquez sur Exécuter l'assistant Index de charge de travail. La page Consulter les recommandations de l'assistant Charge de travail s'ouvre. Dans la section Récapitulatif, vous pouvez voir si l'assistant Index de charge de travail a généré de nouvelles recommandations. Cliquez sur l'onglet Index pour prendre connaissance des recommandations.
  9. Passez en revue la liste des tables pour lesquelles l'assistant Index de charge de travail a des recommandations. Ces informations apparaissent dans chaque table.
    Cardinalité
    Nombre de lignes présentes dans la table. La valeur est -1 si la cardinalité est inconnue.
    Références à la table
    Nombre d'instructions SQL dans la charge de travail de requête qui référence la table.
    Coût total cumulé
    Coût cumulé pour exécuter toutes les instructions SQL qui référencent la table.
    Index recommandés
    Nombre d'index que l'assistant d'Index de charge de travail recommande pour la table.
    Instructions IUDM
    Nombre d'instructions INSERT, UPDATE, DELETE et MERGE qui référencent la table.
  10. Cochez la case située en regard de chaque table, pour laquelle vous souhaitez passer en revue les recommandations.
  11. Dans la section Recommandations, passez en revue les index nouveaux et modifiés recommandés par l'assistant. Ces informations apparaissent dans cette section.
    Index
    Nom de l'index recommandé. Vous pouvez changer ce nom.
    Table
    Nom de la table pour laquelle l'index est recommandé.
    Action
    Action recommandée.
    Créer
    Il est recommandé de créer l'index.
    Supprimer
    Il est recommandé de supprimer l'index existant.
    Avertissement : Les recommandations de suppression d'index sont basées sur la charge de travail de requête en cours. Avant d'implémenter de telles recommandations, vérifiez que les index ne sont pas utilisés par des instructions situées hors de la charge de travail de requête en cours.
    Modifier
    Il est recommandé de modifier l'index existant.
    Colonnes de clé
    Les colonnes principales dans l'index recommandé.
    Colonnes include
    Les colonnes qui sont ajoutées aux colonnes principales et qui peuvent permettre à des requêtes d'utiliser l'accès d'index uniquement lors de l'accès aux données. Ces colonnes ne sont pas utilisées pour imposer l'unicité, mais elles peuvent être ajoutées uniquement à des index à entrées uniques. Les colonnes ajoutées sont distinctes des colonnes principales.
    Anciennes colonnes de clé
    Si la recommandation modifie l'index en cours : les colonnes de clé dans l'index en cours.
    Anciennes colonnes include
    Si la recommandation modifie l'index en cours : les colonnes ajoutées aux colonnes de clé et autorisant les requêtes pour utiliser l'accès d'index uniquement lors de l'accès au données. Ces colonnes ne sont pas utilisées pour imposer l'unicité, mais elles peuvent être ajoutées uniquement à des index à entrées uniques. Les colonnes ajoutées sont distinctes des colonnes principales.
    Gain de performances estimé
    Pourcentage d'amélioration de l'index recommandé pour la vitesse d'exécution des instructions par rapport à la table.
    Espace disque estimé
    Quantité d'espace requise pour créer l'index recommandé.
    Temps utilisé dans la charge de travail
    Somme du nombre d'exécutions de toutes les instructions SQL dans la charge de travail de requête qui référence la table.
    Unique
    Indique si l'index est unique ou non.
    Cause recommandée
    Raison pour laquelle l'assistant fait la recommandation.
  12. Dans la section Index existants, vous pouvez voir si l'optimiseur DB2 utilise des index existants et s'il continuera d'en utiliser après que vous aurez suivi les recommandations de l'assistant. Ces informations apparaissent dans cette section.
    Index
    Nom de l'index.
    Table
    Nom de la table correspondante.
    Créateur
    Qualificateur de l'index.
    Colonnes de clé
    Colonnes principales dans l'index existant.
    Colonnes include
    Les colonnes qui sont ajoutées aux colonnes principales et qui peuvent permettre à des requêtes d'utiliser l'accès d'index uniquement lors de l'accès aux données. Ces colonnes ne sont pas utilisées pour imposer l'unicité, mais elles peuvent être ajoutées uniquement à des index à entrées uniques. Les colonnes ajoutées sont distinctes des colonnes principales.
    Utilisé avant
    Indique si l'index est utilisé dans les plans d'accès en cours pour les instructions qui référencent la table correspondante.
    Utilisé après
    Indique si l'index serait utilisé si les index recommandés sont créés.
    Index de clé externe
    Indique si l'index est une clé externe ou non dans la table correspondante.
    Unique
    Indique si l'index est unique ou non.
    Supprimer virtuellement
    Indique si l'index a été supprimé virtuellement avant qu'un test ne soit exécuté depuis la page Workload Test Candidate Indexes (Index candidats de test de charge de travail) .
    Heure de dernière utilisation
    Indique quand l'index a été utilisé pour la dernière fois dans un plan d'accès.
  13. Dans la section Index choisi par l'optimiseur mais non recommandé, vous pouvez passer en revue une liste des index que l'assistant a envisagé de recommander et que l'optimiseur DB2 aurait utilisé, mais que l'assistant n'a pas recommandé parce qu'ils ne respectaient pas des contraintes que vous avez définies. Si vous voulez afficher les contraintes, cliquez sur l'onglet Contraintes. Ces informations apparaissent dans cette section.
    Index
    Nom de l'index.
    Table
    Nom de la table pour laquelle l'index a été évalué.
    Colonnes de clés
    Colonnes principales dans l'index.
    Espace disque estimé
    Quantité d'espace disque nécessaire à l'index.
    Motifs de non recommandation
    Contrainte que l'index ne respecte pas.
  14. Si vous souhaitez voir quelles instructions SQL utiliseraient les index recommandés, dans la section Recommandations, cochez la case près de chaque index qui vous intéresse et cliquez sur l'icône Afficher les instructions SQL affectées par les index sélectionnés.
  15. Facultatif : Modifiez une ou deux contraintes sur l'assistant d'index de charge de travail et générez un nouvel ensemble de recommandations. Dans la section Recommandations, cliquez sur l'icône Modifier les contraintes. Vous pouvez modifier la quantité d'espace disque à allouer aux nouveaux index et le nombre d'index qui sont affectés par page.
  16. Si vous souhaitez exécuter ou sauvegarder les instructions DDL pour les recommandations, cliquez sur l'icône Exécuter le DDL. La fenêtre Exécuter le DDL pour les index sélectionnés vous permet d'exécuter les instructions ou de les sauvegarder dans un fichier. Vous pouvez également modifier les instructions avant de les exécuter ou de les sauvegarder.

Que faire ensuite

Après avoir exécuté l'instruction DDL, exécutez à nouveau l'assistant Statistiques de la charge de travail.

Feedback