Création et déploiement des suggestions d'optimisation pour les instructions SQL s'exécutant sous DB2 for z/OS

Vous pouvez créer, valider et déployer une suggestion d'optimisation pour une instruction SQL qui s'exécute sur un sous-système DB2 for z/OS. Grâce à une suggestion d'optimisation, 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.

Avant de commencer

Pourquoi et quand exécuter cette tâche

L'octroi de suggestions d'optimisation à DB2 est utile dans les situations suivantes :
Les suggestions d'optimisation se divisent en trois catégories :
Suggestions PLAN_TABLE
Ce type de suggestion tente d'imposer un chemin d'accès spécifique pour une instruction SQL émise par un identificateur d'autorisation spécifique unique. Il utilise les lignes d'une instance PLAN_TABLE détenue par le même identificateur d'autorisation pour mettre en application des suggestions basées sur les valeurs indiquées pour l'option de définition d'accès OPTHINT ou le registre spécial CURRENT OPTIMIZATION HINT.
Suggestions de chemin d'accès au niveau de l'instruction (DB2 10 for z/OS NFM ou ultérieur)
Dans ce type de suggestion, DB2 tente d'utiliser les lignes de PLAN_TABLE spécifiées pour déterminer le chemin d'accès des instructions SQL correspondantes. Vous pouvez également créer des suggestions de chemin d'accès applicables uniquement aux instructions correspondantes à partir d'un périmètre défini.
Suggestions de paramètres d'optimisation (DB2 10 for z/OS NFM ou ultérieur)
Dans ce type de suggestion, DB2 applique des paramètres d'optimisation donnés, tels que les paramètres et options de sous-système suivants, pour traiter toutes les instructions correspondant à la suggestion :
  • REOPT (option de définition d'accès)
  • STARJOIN (paramètre de sous-système)
  • PARAMDEG (paramètre de sous-système) (colonne MAX_PAR_DEGREE)
  • CDSSRDEF (paramètre de sous-système) (colonne DEF_CURR_DEGREE)
  • SJTABLES (paramètre de sous-système)
Vous pouvez également créer des suggestions qui indiquent les paramètres d'optimisation et qui sont applicables uniquement aux instructions correspondantes à partir d'un périmètre défini.
Vous ne pouvez pas déployer plusieurs types de suggestions simultanément. Par contre, vous pouvez déployer séquentiellement plusieurs types de suggestions pour une instruction SQL unique. Voir "Coexistence des suggestions d'optimisation".
Conseil : Si vous ne savez pas quel type de suggestion vous convient, vous pouvez définir les trois types dans l'éditeur, puis les déployer l'une après l'autre aux fins de test.

Procédure

Pour créer, valider et déployer une suggestion d'optimisation :

  1. Capturez ou sélectionnez l'instruction SQL pour laquelle vous souhaitez créer une suggestion d'optimisation.
    • Si vous souhaitez travailler à partir d'une instruction SQL capturée unique, procédez comme suit :
      1. 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.
      2. Sélectionnez l'instruction et cliquez sur le bouton Optimiser l'instruction. La page Exécuter tous les assistants et outils d'analyse pour une requête unique de la section Appeler s'ouvre.
    • Si vous souhaitez travailler à partir d'une instruction SQL faisant partie d'une charge de travail de requête, procédez comme suit :
      1. Cliquez sur l'onglet Gérer dans la partie gauche de l'assistant de flux de travaux.
      2. Sur la page Gérer les charges de travail, sélectionnez la charge de travail de requête à laquelle l'instruction SQL appartient.
      3. Dans le champ Plus d'actions, sélectionnez Afficher les instructions.
      4. Dans la page Afficher les instructions, cliquez avec le bouton droit de la souris sur l'instruction SQL et sélectionnez Exécuter les assistants Requête unique et les outils sur l'instruction sélectionnée. La page Exécuter tous les assistants et outils d'analyse pour une requête unique de la section Appeler s'ouvre.
  2. Dans la partie gauche de l'assistant de flux de travaux, dans Requête unique, développez Avancé et sélectionnez Créer une suggestion d'optimisation. L'assistant de flux de travaux ouvre la page Personnaliser le plan d'accès avec la suggestion d'optimisation 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 Présentation située en bas de la page. Elle n'est pas encore active. Vous pouvez continuer à ajouter d'autres personnalisations à la suggestion d'optimisation.

    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 Présentation située en bas de la page. L'assistant Flux de travaux 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 (Séquence de jointure par défaut).

    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.
  3. Créez une suggestion d'optimisation.
    • Si vous souhaitez créer une suggestion PLAN_ABLE ou une suggestion de chemin d'accès au niveau de l'instruction, vous pouvez apporter des changements dans le diagramme de jointure et dans le diagramme de séquence de jointure pour y parvenir. En procédant de cette façon, une nouvelle ligne est ajoutée à la sous-section d'accès à la table de la section Définition de l'indicateur d'optimisation. 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.
    • Si vous souhaitez créer une suggestion de paramètre d'optimisation, vous pouvez y parvenir en changeant les valeurs de la sous-section Paramètres d'optimisation de la section Définition de l'indicateur d'optimisation.
  4. Validez la suggestion d'optimisation. 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.
  5. Résolvez les éventuels problèmes détectés lors du processus de validation.
  6. Déployez la suggestion d'optimisation.
    1. Cliquez sur l'icône de déploiement de l'indicateur d'optimisation.
    2. 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.
    3. Cliquez sur Déployer.

Retour d'informations