Génération et exécution de recommandations liées aux index pour l'amélioration des performances de charges de travail de requête s'exécutant sur DB2 for Linux, UNIX et Windows

L'assistant Index de charge de travail recommande de nouveaux index et changement pour les index existants sur les tables qui sont référencées par les instructions SQL dans les charges de travail de requête.

Avant de commencer

Pourquoi et quand exécuter cette tâche

Les index sont importants pour la performance des requêtes car un bon ensemble d'index peut fournir un accès plus efficace aux tables et accélérer le traitement des requêtes. Les index peuvent améliorer les performances en fournissant un filtrage local, en améliorant l'efficacité du traitement groupé, en évitant le traitement de triage, en fournissant des accès index seul, en appliquant l'intégrité référentielle, etc.

Une fois que l'assistant Index de charge de travail a généré des recommandations pour les nouveaux index et des changements pour les index existants, vous pouvez passer en revue ces recommandations dans le détail. Si vous avez les droits d'accès appropriés pour la base de données, vous pouvez exécuter les instructions DDL pour suivre les recommandations que vous sélectionnez.

Procédure

  1. Dans la section Gérer, ouvrez la page Gérer et optimiser les charges de travail.
  2. Sélectionnez la charge de travail de requête et 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.
  3. Facultatif : Modifiez les valeurs des options pour l'assistant Index 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 Index pour afficher les options que vous pouvez modifier. Pour obtenir de l'aide avec les options, cliquez sur l'icône ?. 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.
  4. Assurez-vous que l'option Collecter à nouveau les informations EXPLAIN avant l'exécution des assistants de charge de travail est sélectionnée.
  5. Cliquez sur le bouton Sélectionner les éléments à exécuter.
  6. Dans la fenêtre Sélectionner des activités, cochez la case Index et cliquez sur OK.
  7. Dans la fenêtre Collecter les informations EXPLAIN, spécifiez les valeurs pour l'environnement d'exécution des instructions SQL figurant 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 d'index de charge de travail requiert des informations à jour sur les instructions SQL. Pour plus d'informations, cliquez sur l'icône d'aide dans le coin inférieur gauche de la fenêtre.
  8. Dans la page Passer en revue les recommandations de l'assistant de charge de travail, cliquez sur l'onglet Index s'il existe de nouvelles recommandations pour les index.
  9. Passez ces informations en revue en haut de la section Index.
    Amélioration estimée des performances
    Le pourcentage d'amélioration du temps d'exécution de toutes les instructions dans la charge de travail de requête, si tous les index recommandés sont créés.
    Espace disque requis (espace DASD)
    Quantité d'espace disque requise pour créer tous les index recommandés.
    Coût IUD total
    Temps total en millisecondes pour exécuter toutes les instructions INSERT, UPDATE et DELETE qui sont dans la charge de travail de requête, après la création des index recommandés.
  10. 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.
  11. Cochez la case située en regard de chaque table, pour laquelle vous souhaitez passer en revue les recommandations.
  12. 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.
    Modifier
    Il est recommandé de modifier l'index existant.
    Colonnes d'index
    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.
    Gain de performance 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.
  13. 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 d'index
    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é après
    Indique si l'index serait utilisé si les index recommandés sont créés.
    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.
    Index de clé externe
    Indique si l'index est une clé externe ou non dans la table correspondante.
  14. 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 d'index
    Colonnes principales dans l'index.
    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.
    Espace disque estimé
    Quantité d'espace disque que l'index nécessiterait
    Motifs de non recommandation
    Contrainte que l'index ne respecte pas
  15. 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.
  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.

Commentaires