Vous pouvez créer, valider et déployer un indicateur d'optimisation
de plan pour une instruction SQL qui s'exécute sur un sous-système DB2 for z/OS. Grâce aux conseils relatifs au plan, vous pouvez définir des critères afin d'aider l'optimiseur DB2 à sélectionner le plan d'exécution optimal pour l'instruction SQL.
Pourquoi et quand exécuter cette tâche
L'octroi d'optimisations de plan
à DB2 est utile dans les situations
suivantes :- Vous souhaitez assurer la cohérence des temps de réponse parmi les nouvelles liaisons
et parmi les migrations d'édition. Lorsqu'un plan ou un package est relié, le chemin d'accès est reformulé. Si la base de données ou l'application a changé, ou si DB2 dispose d'une nouvelle fonction qui provoque la sélection d'un autre chemin d'accès, il est pratique de pouvoir utiliser un ancien chemin d'accès si le nouveau ne s'exécute pas aussi bien.
- Vous souhaitez temporairement ignorer le chemin d'accès choisi par DB2.
Procédure
- 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.
- Sélectionnez l'une des instructions capturées
et cliquez sur le bouton Appeler assistants et outils.
La page Exécuter tous les assistants et outils d'analyse pour une requête unique
de la section Appeler s'ouvre.
- Dans la partie gauche de l'assistant de flux de travaux, dans
Requête unique, développez Avancé
et sélectionnez Créer un indicateur d'optimisation du plan. L'assistant de flux de travaux ouvre la page Personnaliser le plan
d'accès avec un indicateur d'optimisation de plan de la section
Consulter.
Cette page contient trois sections :
- Diagramme de jointure
- Un diagramme de jointure affiche les informations suivantes :
- Les tables touchées par la requête, que le diagramme affiche sous forme de noeuds
- Les relations entre les tables, que le diagramme affiche sous forme de lignes entre les noeuds
et qui sont créées en fonction de l'analyse des prédicats de la requête
- Les prédicats locaux et de jointure
Cliquez deux fois sur une table pour personnaliser la manière dont la table est référencée dans le plan d'accès
de l'instruction SQL. La personnalisation s'affiche dans la
table de la section Overview située en bas de la page. Elle n'est pas encore active. Vous pouvez continuer à ajouter
d'autres personnalisations à l'optimisation de plan.
- Diagramme de séquence de jointure éditable
- Un diagramme de séquence de jointure affiche la séquence de jointure de la table
pour le plan d'accès indiqué. Vous pouvez exécuter les actions suivantes :
- Supprimer des noeuds sélectionnés
- Ajouter un noeud de référence de table
- Cliquez deux fois sur une table pour personnaliser la manière dont la table est référencée dans le plan d'accès
de l'instruction SQL.
- Ajouter un noeud d'opérateur de jointure
- Cliquez deux fois sur un noeud d'opérateur de jointure pour changer la jointure pour un autre type de jointure.
- Faites glisser une table par dessus une autre table pour changer les positions de ces
tables dans la séquence de jointure.
Toutes les modifications que vous apportez à la séquence de jointure existante sont répertoriées dans la table Overview située en bas de la page. L'assistant Charge de travail les vérifie immédiatement. Les erreurs et les avertissements sont affichés dans la section Erreurs située en bas de la page.Si vous souhaitez supprimer toutes les modifications effectuées à une séquence de jointure, cliquez sur Default Join Sequence.
Lorsque vous disposez
d'une optimisation de plan candidate, cliquez sur le bouton Validate Plan
Hint dans le coin supérieur gauche de la page. Dans la fenêtre Hint
Validation Options, vous pouvez indiquer des paramètres de l'environnement d'application
dans lequel l'instruction SQL s'exécute. Après avoir cliqué sur OK, la fenêtre Hint Validation
Result s'ouvre.
- Définition de l'indicateur d'optimisation
- Lorsque vous apportez un changement dans le diagramme de jointure ou dans le
diagramme de séquence de jointure, une nouvelle ligne est ajoutée à cette section. Si
l'assistant de flux de travaux détecte des erreurs dans l'entrée, possède un
avertissement concernant l'entrée, ou suggère une modification de l'entrée, un
indicateur apparaît dans l'onglet Problèmes.
Cliquez sur cet onglet pour afficher les informations.
- Créez un indicateur d'optimisation de plan en apportant des modifications
dans le diagramme de jointure et le diagramme de séquence de jointure et en créant
des entrées dans la section Définition de l'indicateur d'optimisation.
- Validez l'indicateur d'optimisation de plan. Lorsque vous disposez des entrées souhaitées dans la section
Définition de l'indicateur d'optimisation, que vous avez
résolu toutes les erreurs et répondu à tous les avertissements, cliquez sur
l'icône Validez l'indicateur d'optimisation en haut de la
page.
Dans la fenêtre Validez l'indicateur d'optimisation,
personnalisez les paramètres de l'environnement d'application ou laissez les valeurs
par défaut. Pour plus d'informations sur ces options, cliquez sur l'icône d'aide
dans l'angle inférieur gauche de la fenêtre ou appuyez sur F1. Une fois que vous
avez cliqué sur Valider, la fenêtre
Result of Validating the Hint s'ouvre.
Pour obtenir une aide sur cette fenêtre, cliquez sur l'icône d'aide dans l'angle
inférieur gauche ou appuyez sur F1.
- Déployez l'indicateur d'optimisation de plan après avoir résolu les
problèmes rencontrés lors du processus de validation.
- Cliquez sur l'icône de déploiement de l'indicateur
d'optimisation.
- Dans la fenêtre Déployer un indicateur d'optimisation,
spécifiez les options, telles que le nom de l'indicateur d'optimisation et le
numéro à utiliser pour identifier l'instruction SQL. Pour obtenir une aide sur cette
fenêtre, cliquez sur l'icône d'aide dans l'angle inférieur gauche ou appuyez sur F1.
- Cliquez sur Déployer.
Si l'assistant de flux de travaux est capable de déployer l'indicateur
d'optimisation, la fenêtre Result of Deploying the Hint
s'ouvre et affiche les informations suivantes :
- Les instructions SQL qui ont été utilisées pour créer l'indicateur
d'optimisation dans la table PLAN_TABLE.
- Les nouveaux enregistrements qui se trouvent dans la table PLAN_TABLE.