Ajout d'autres instructions à des fichiers de l'éditeur pureQueryXML

Dans un fichier pureQueryXML, vous pouvez ajouter des instructions SQL que votre application va exécuter à la place de celles que vous avez capturées.

Pourquoi et quand exécuter cette tâche

Après capture d'instructions SQL dans un fichier pureQueryXML, il peut arriver qu'une ou plusieurs de ces instructions ne présentent pas l'efficacité escomptée par votre application. Or, dans la mesure où vous faites ce constat à un stade avancé de votre cycle de développement, vous risquez de ne plus pouvoir modifier l'application. Il vous est toutefois possible d'éditer le fichier pureQueryXML en ajoutant une instruction SQL de remplacement pour chacune des instructions insuffisamment performantes. Lorsque vous exécuterez votre application, pureQuery utilisera les nouvelles instructions SQL en lieu et place des instructions initialement capturées.

Par exemple, il peut s'avérer difficile d'exécuter une instruction SQL après avoir collecté des statistiques pour une table. Si cet incident se produit sur un système de production, un administrateur de base de données peut annuler les modifications apportées aux statistiques de la table ou demander une modification de SQL dans l'application. Avec pureQuery, l'administrateur de base de données peut renoncer à ces options et ajouter une autre instruction SQL dans le fichier pureQueryXML contenant l'instruction défaillante.

En ajoutant d'autres instructions, vous pouvez :
  • influencer un chemin d'accès (OPTIMIZE FOR 1 ROW)
  • influencer l'utilisation d'index (clause ORDER BY)
  • influencer la taille d'extraction pour les requêtes réparties (clause FETCH FIRST n ROWS ONLY, OPTIMIZE FOR n ROWS ou FOR FETCH ONLY).
  • modifier le comportement de verrouillage (clause WITH ISOLATION ou SKIP LOCKED DATA).
  • gérer les données EXPLAIN (clause QUERYNO).

Après les avoir ajoutées, vous pouvez choisir de définir ou non des accès pour les instructions SQL de remplacement. Si vous y renoncez mais voulez tout de même utiliser ces instructions, vous devez paramétrer la propriété enableDynamicSQLReplacement à TRUE lorsque vous exécutez votre application.

Vous pouvez ajouter une autre instruction pour une instruction SQL, à l'exception des deux types d'instruction suivants :

Procédure

Pour ajouter ou éditer d'autres instructions, procédez comme suit :

  1. Cliquez à l'aide du bouton droit de la souris sur l'instruction qui va être remplacée lors de la phase d'exécution, puis sélectionnez Editer l'instruction.
  2. Dans la zone Schéma par défaut qui s'affiche en haut de l'éditeur, sélectionnez ou entrez le nom du schéma à utiliser pour les références d'objet de base de données non qualifié dans les instructions SQL que vous ajoutez ou éditez. Si vous voulez que les instructions SQL fassent référence aux objets de base de données qui se trouvent dans d'autres schémas, vous devez qualifier les noms des objets avec les noms des schémas correspondants.
    Avertissement : La zone Schéma par défaut s'applique à toutes les instructions SQL de l'ensemble d'instructions en cours.
  3. Si une source de données DB2 est associée à votre projet Java, dans la zone Chemin d'accès par défaut qui apparaît en haut de l'éditeur, entrez le chemin SQL à utiliser lors de la résolution des références de fonction et des références de type des instructions SQL que vous ajoutez ou éditez. Cette valeur est également utilisée pour résoudre des références de procédure mémorisées dans des instructions SQL.

    Indiquez le chemin d'accès par défaut sous la forme d'une liste d'un ou de plusieurs noms de schéma séparés par des virgules. Si vous souhaitez distinguer les majuscules des minuscules, entourez un nom de schéma de guillemets ; par exemple, FERMAT, "McDrw #8", SYSIBM.

    Avertissement : La zone Chemin d'accès par défaut s'applique à toutes les instructions SQL de l'ensemble d'instructions en cours.
  4. Collez ou entrez l'autre instruction.

    Astuce : vous pouvez comparer l'autre instruction avec l'instruction d'origine à l'aide de l'éditeur de comparaison. Sélectionnez les deux instructions, cliquez dessus à l'aide du bouton droit de la souris, puis sélectionnez Comparer.

    Restrictions :
    • Si une instruction SQL contient des marqueurs de paramètre nommés, l'instruction alternative doit comporter le même nombre de marqueurs de paramètre, lesquels doivent être classés de la même manière.
    • L'ensemble de résultats d'une autre instruction SELECT doit correspondre à celui de l'instruction SELECT d'origine.
  5. Après avoir ajouté ou édité l'autre instruction, appuyez sur Entrée. L'éditeur vérifie si la nouvelle instruction est compatible avec la précédente.

    Si l'autre instruction est compatible, vous pouvez choisir de l'exécuter de manière statique ou dynamique.

    • Si vous souhaitez exécuter l'instruction de manière statique lors de l'exécution de votre application en attribuant la valeur STATIC à executionMode, cochez la case Lier. L'instruction est incluse dans le module DB2 que vous créez à partir de l'ensemble d'instructions lors de la liaison du fichier pureQueryXML.
    • Si vous souhaitez exécuter l'instruction de manière dynamique même si vous exécutez votre application en attribuant la valeur STATIC à executionMode, ne cochez pas la case Lier. Avant d'exécuter votre application, n'oubliez pas d'attribuer la valeur TRUE à la propriété d'optimisation client enableDynamicSQLReplacement.

Commentaires