Pour chaque emplacement à partir duquel vous effectuez la capture, vous devez satisfaire aux conditions requises suivantes. Certains emplacements ont des prérequis supplémentaires.
Pour DB2 for Linux, UNIX, and Windows, Version 9.7.4 ou ultérieure : lorsque vous exécutez une procédure mémorisée SQL dans un éditeur de routine, dans la fenêtre Exécuter, vous pouvez collecter des informations d'exécution réelles sur les plan d'accès pour les instructions de la procédure mémorisée. Sélectionnez l'option Gather performance information from the database (Collecter des informations de performances à partir de la base de données), puis sélectionnez l'option Gather actual access plan information from the database (Collecter des informations de plan d'accès réelles à partir de la base de données). Dans la vue Profiling Data (Données de profilage), sélectionnez les instructions que vous souhaitez optimiser en maintenant la touche CTRL enfoncée et en cliquant sur ces instructions. Cliquez avec le bouton droit de la souris sur la sélection et cliquez sur Démarrer l'optimisation.
Pour capturer les instructions SQL à partir des sources suivantes, vous devez d'abord procéder comme suit pour ouvrir l'assistant de flux de travaux :
Si le module dans lequel se trouve une instruction est lié à l'aide de la commande EXPLAIN définie sur YES, elle est capturée avec les informations concernant son plan d'accès réel.
Si vous sauvegardez des instructions capturées à partir du cache d'instruction en tant que charge de travail de requête, vous pouvez sauvegarder les informations relatives au chemin d'accès d'exécution pour les instructions déjà exécutées. Lorsque vous exécutez pour la première fois des assistants de charge de travail sur la charge de travail de requête, ces assistants peuvent utiliser ces informations d'exécution lors de la génération de recommandations. Si vous décidez d'optimiser une instruction SQL unique à partir de la charge de travail de requête, ne réexplicitez pas l'instruction si vous souhaitez que les assistants utilisent les informations d'exécution qui s'y rapportent.
En ce qui concerne les droits d'accès et privilèges nécessaires pour la capture à partir de ces sources, voir Droits d'accès et privilèges nécessaires à la capture d'instructions SQL depuis DB2 for z/OS.
Si le module dans lequel se trouve une instruction est lié à l'aide de la commande EXPLAIN définie sur YES, elle est capturée avec les informations concernant son plan d'accès réel.
Toutes les occurrences des instructions capturées dans les modules spécifiés sont enregistrées lorsque vous créez une charge de travail de requête à partir de ce type de source. Si vous sélectionnez l'option Save EXPLAIN information for the captured statements (Enregistrer les informations EXPLAIN pour les instructions capturées), les informations EXPLAIN de chaque occurrence d'une instruction sont également enregistrées.
Si le module dans lequel se trouve une instruction est lié à l'aide de la commande EXPLAIN définie sur YES, elle est capturée avec les informations concernant son plan d'accès réel.
Toutes les occurrences des instructions capturées dans les modules spécifiés sont enregistrées lorsque vous créez une charge de travail de requête à partir de ce type de source. Si vous sélectionnez l'option Save EXPLAIN information for the captured statements (Enregistrer les informations EXPLAIN pour les instructions capturées), les informations EXPLAIN de chaque occurrence d'une instruction sont également enregistrées.
Immédiatement après la capture, vous pouvez afficher les plans d'accès réel d'une instruction en cliquant dessus avec le bouton droit de la souris et en sélectionnant Show Access Plan Graph (Afficher le diagramme du plan d'accès).
Pour les instructions statiques : si les instructions capturées apparaissent plus d'une fois dans les modules spécifiés, alors seules les informations EXPLAIN de la dernière occurrence de l'instruction sont enregistrées lorsque vous créez une charge de travail de requête à partir de ce type de source. Les instructions sont considérées comme des doublons lorsque le nom du module, le schéma du module, le numéro de section, le numéro d'instruction et le texte de l'instruction sont identiques. Même si vous ne sélectionnez pas cette option, seule la dernière occurrence de chaque instruction est enregistrée dans la charge de travail de requête.
La capture à partir de ce type de source nécessite tout d'abord la création et l'exécution d'une surveillance d'événement ACTIVITIES pour collecter l'activité d'exécution d'une base de données. Immédiatement après la capture, vous pouvez afficher les plans d'accès réel d'une instruction en cliquant dessus avec le bouton droit de la souris et en sélectionnant Show Access Plan Graph (Afficher le diagramme du plan d'accès).
Si des instructions capturées apparaissent plus d'une fois dans les moules spécifiés, alors seules les informations EXPLAIN de la dernière occurrence de l'instruction sont enregistrées lorsque vous créez une charge de travail de requête à partir de ce type de source. Les instructions sont considérées comme des doublons lorsque les ID exécutables sont identiques. Même si vous ne sélectionnez pas cette option, seule la dernière occurrence de chaque instruction est enregistrée dans la charge de travail de requête.