Création ou modification d'index

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

L'assistant Index de charge de travail peut indiquer l'une des raisons suivantes pour la recommandation d'un index :

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 disposez des droits d'accès appropriés pour la base de données, vous pouvez exécuter les instructions DDL pour appliquer les recommandations que vous sélectionnez.

Procédure

Pour générer et exécuter des recommandations pour les index :

  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 Consulter.
  4. Assurez-vous que la case Réexpliquer la charge de travail de requête est sélectionnée, si l'une ou les deux conditions suivantes sont vraies :
    • Exécutez cet assistant après avoir mis en oeuvre les recommandations d'un autre assistant.
    • Vous souhaitez collecter des informations EXPLAIN que vous pouvez comparer avec les informations EXPLAIN qui ont été saisies à un autre moment pour cette charge de travail de requête.
  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 Consulter 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 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 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.
  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 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.
    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 clé
    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 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. 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