Génération de diagrammes de plans d'accès avec Visual Explain

Vous pouvez générer un diagramme du plan d'accès en cours pour une instruction SQL ou XPATH afin de déterminer comment votre serveur de données traite une requête. Vous pouvez utiliser les informations disponibles à partir du graphique pour ajuster vos instructions SQL afin d'optimiser les performances.

Avant de commencer

Dans le plan de travail, Visual Explain prend en charge les serveurs de données suivants :
  • DB2 Version 9.1.5 for Linux, UNIX, and Windows
  • DB2 Version 9.5.1 for Linux, UNIX et Windows et des versions ultérieures
  • DB2 Version 9.7.1 for Linux, UNIX et Windows et des versions ultérieures
  • DB2 UDB for z/OS Version 8 (mode compatibilité)
  • DB2 UDB for z/OS Version 8 (mode nouvelle fonction)
  • DB2 Version 9.1 for z/OS
  • DB2 Version 10 for z/OS
  • IBM® Informix Dynamic Server (IDS) Version 11.50
  • IBM Informix Dynamic Server Version 11.70
  • Base de données Oracle 10g édition 2
  • Base de données Oracle 11g édition 1

Si vous souhaitez créer des diagrammes de plan d'accès pour DB2 for z/OS, vous devez configurer le sous-système DB2 que vous utilisez : Configuration des sous-systèmes DB2 for z/OS pour Visual Explain

Restriction : Pour IBM Informix Dynamic Server, Visual Explain ne peut pas expliciter les instructions SELECT qui contiennent les marqueurs de paramètres ou les variables hôtes.

Pourquoi et quand exécuter cette tâche

Vous pouvez utiliser Visual Explain pour :
  • Afficher les statistiques utilisées au moment de l'optimisation. Vous pouvez comparer ces statistiques aux statistiques du catalogue en cours pour déterminer si une nouvelle liaison du module peut améliorer les performances.
  • Déterminer si un index a été utilisé pour accéder à une table. Si un index n'a pas été utilisé, Visual Explain vous aide à déterminer quelles colonnes pourraient nécessiter une indexation.
  • Obtenir des informations sur chaque opération dans le plan d'accès, y compris le coût total estimé et le nombre de lignes extraites (cardinalité).

Procédure

Pour générer le diagramme du plan d'accès en cours d'une requête :

  1. Facultatif : Définissez les préférences de fonctionnement de Visual Explain et du mode d'affichage des diagrammes.
  2. Suivez l'une de ces étapes :
    • Dans l'Explorateur de projets de données, cliquez avec le bouton droit de la souris sur une une procédure mémorisée ou sur une fonction SQL définie par l'utilisateur et cliquez sur Ouvrir Visual Explain.
    • Dans l'Explorateur de sources de données, cliquez avec le bouton droit de la souris sur une vue, une procédure mémorisée SQL ou sur une fonction SQL définie par l'utilisateur contenant une instruction INSERT, UPDATE, DELETE ou SELECT. Sélectionnez Ouvrir Visual Explain. Si le plan de travail renvoie plus d'une instruction SQL ou XQUERY, le plan de travail utilise la première instruction.
    • Dans un éditeur SQL, de routine ou Java, mettez en évidence l'instruction INSERT, UPDATE, DELETE ou SELECT et cliquez dessus avec le bouton droit de la souris, puis cliquez sur Ouvrir Visual Explain.
      Les tentatives d'ouverture de Visual Explain à partir d'une instruction SQL dans un éditeur Java échouent si l'instruction SQL contient des variables déclarées dans votre application. Par exemple, cette instruction SQL ne peut être analysée par Visual Explain en raison des deux variables du prédicat :
      select count(*), sum(order.price)
      from order
      where order.date > var_date_1
      and order.date < var_date_2 
      Cependant, une fois que vous liez ou déployez l'application, vous pouvez utiliser Optim Query Tuner ou les fonctions de réglage de requête simple dans Data Studio afin de capturer l'instruction SQL à partir d'un module DB2 ou de la mémoire cache de l'instruction dynamique, puis vous effectuez le réglage.
    Remarque : Visual Explain est désactivé ou émet une exception si l'instruction SQL sélectionnée ou l'objet sélectionné ne peut être explicité(e). Seules les instructions SQL de la liste suivante peuvent être explicitées par Visual Explain:
    • Pour DB2 for Linux, UNIX et Windows : CALL, Compound SQL (Dynamic), DELETE, INSERT, MERGE, REFRESH, SELECT, SELECT INTO, SET INTEGRITY, UPDATE, VALUES ou VALUES INTO.
    • Pour DB2 for z/OS : SELECT, INSERT ou le formulaire recherché d'une instruction UPDATE ou DELETE.
  3. Sur la première page de l'assistant, spécifiez la fin d'instruction de l'instruction SQL, XPATH ou XQUERY dont vous voulez créer le diagramme de plan d'accès.
  4. Facultatif : Sur la première page de l'assistant, vous pouvez également configurer diverses options.
    1. Indiquez si vous souhaitez stocker dans des tables explain les données explain collectées. Si vous choisissez cette option, Visual Explain n'aura pas à collecter les données explain la prochaine fois que vous créerez un diagramme du plan d'accès de la même instruction.
      Restriction : Cette option n'est pas disponible pour les serveurs de données Oracle.
    2. Indiquez quel répertoire doit être utilisé par Visual Explain comme répertoire de travail.
    3. Si IBM Support nécessite une trace, indiquez s'il faut tracer la création du diagramme du plan d'accès et la collecte des données explain.
    4. Indiquez si vous souhaitez sauvegarder vos réglages en tant que paramètres par défaut pour tous les diagrammes que vous créez avec Visual Explain. Vous pouvez modifier ces paramètres par défaut via la fenêtre Préférences.
  5. Sur la seconde page de l'assistant, définissez les valeurs des registres spéciaux pour personnaliser l'environnement d'exécution afin de conditionner la collecte des données explain.

    Les valeurs que vous avez définies sont utilisées lorsque Visual Explain exécute l'instruction pour récupérer les données explain.

    Avertissement : Prenez connaissance des informations suivantes relatives aux serveurs de données DB2.
    • Pour DB2 for z/OS : si vous indiquez des valeurs différentes pour CURRENT SCHEMA et CURRENT SQLID, Visual Explain recherche des tables explain qualifiées par la valeur de CURRENT SQLID. Si Visual Explain ne trouve pas de tables explain qualifiées par la valeur de CURRENT SQLID, Visual Explain tente de créer les tables explain en fonction de cette valeur.
    • Pour DB2 for Linux, UNIX, and Windows : si vous remplacez la valeur de CURRENT SCHEMA par une valeur contenant des caractères spéciaux, vous devez délimiter cette valeur à l'aide de guillemets simples.
    • Pour DB2 for Linux, UNIX, and Windows : cochez la case Collecter des statistiques de colonne et de groupe de colonnes si vous souhaitez que Visual Explain collecte des statistiques détaillées sur les colonnes groupées et sur les colonnes référencées par une clause GROUP BY.
  6. Facultatif : Sur la seconde page de l'assistant, indiquez si vous souhaitez sauvegarder vos réglages en tant que paramètres par défaut pour tous les diagrammes que vous créez avec Visual Explain. Vous pouvez modifier ces paramètres par défaut via la fenêtre Préférences.
  7. Cliquez sur Terminer pour fermer l'assistant et créer le diagramme.

Résultats

Le plan de travail affiche un diagramme dans la vue Diagramme de plan d'accès. Dans cette vue, vous pouvez naviguer dans le diagramme, afficher des descriptions des noeuds du diagramme et rechercher des noeuds.

Commentaires