Recommandations relatives à la capture des instructions SQL avec l'optimisation client pureQuery

Pour un résultat optimal, procédez à la capture des données SQL avec l'optimisation client SQL au cours de la fin de la phase de développement ou pendant la phase de test. Définissez les propriétés pureQuery Runtime de manière appropriée pour contrôler les données SQL capturées et arrêter l'application après avoir capturé les données SQL.
Environnement de l'activité de capture
  • Le meilleur moment pour procéder à la capture des données SQL se situe à la fin du cycle de développement ou pendant le cycle de test. Evitez de capturer les données SQL en cours de production afin d'éviter les risques de dégradation des performances.

    L'environnement de test utilisé pour capturer les données SQL et tester l'optimisation client pureQuery doit correspondre autant que possible à l'environnement de production.

  • Si vous devez capturer les données SQL dans un environnement de production, utilisez un référentiel dans une base de données.
Paramètres des propriétés de contrôle de la capture des données SQL
  • Choisissez le niveau de capture approprié :
    • Dans un environnement WebSphere, capturez au niveau de la source de données utilisée dans l'application ; évitez d'impacter les autres applications en utilisant la même source de données.

      Définissez les propriétés pureQuery Runtime spécifiques à l'application lorsque plusieurs applications partagent une source de données et vous devez capturer les instructions SQL au niveau de l'application. Ces propriétés spécifiques aux applications peuvent pointer vers un référentiel dans une base de données pour faciliter la gestion des propriétés dans une application.

    • Pour un environnement qui n'utilise pas WebSphere, procédez à la capture au niveau de l'adresse URL de connexion utilisée au sein de l'application.
  • Sélectionnez la granularité et la portée du fichier de propriétés de pureQuery Runtime lors de la capture des données SQL. Ne capturez pas plus de données que nécessaire.

    Assurez-vous que vous définissez les propriétés de pureQuery Runtime au niveau approprié : connexion, source de données, spécifiques à l'application ou globales. Par exemple, si vous définissez les propriétés de pureQuery Runtume pour la capture à un niveau global dans l'installation de WebSphere, toutes les applications écriront sur le même fichier.

  • Personnalisez les propriétés de pureQuery Runtime en fonction de vos besoins lors de la capture de données SQL.

    Par exemple, pour minimiser la taille du fichier pureQueryXML et améliorer la vitesse de traitement, vous pouvez désactiver les informations de trace de pile de la capture si elles ne sont pas nécessaires.

  • Evitez de capturer toutes les traces de pile ou tous les éléments de trace de pile en spécifiant une valeur de -1 pour la propriété pureQuery Runtime maxStackTracesCaptured ou pour la propriété stackTraceDepth.

    Les traces de pile de petite taille peuvent être rassemblées en filtrant le contenu de la trace de pile à l'aide de la propriété pureQuery Runtime packagePrefixExclusion.

  • Envisagez d'utiliser la fonctionnalité de substitution de littéraux pureQuery SQL si l'application exécute des instructions SQL contenant des valeurs littérales.

    Si votre application exécute de nombreuses instructions SQL qui partagent la même syntaxe et ne diffèrent que par les valeurs littérales qu'elles contiennent, pureQuery Runtime peut capturer et consolider ces instructions en substituant des marqueurs de paramètres aux valeurs littérales

  • Activez la trace uniquement si vous rencontrez des problèmes.

    Activez la trace du pilote IBM® Data Server pour JDBC et SQLJ et définissez la trace pureQuery sur le niveau FINER pour que pureQuery Runtime signale les problèmes potentiels liés à l'exécution SQL statique.

Fichiers contenant des données SQL capturées
Une fois que vous avez capturé les données SQL concernant un fichier sur disque, arrêtez l'application après une opération de capture pour vous assurer que pureQuery Runtime terminera l'écriture des données dans le fichier. Le fichier de capture doit être terminé et enregistré pour que vous puissiez exécuter l'utilitaire Merge ou Configure.

Cette pratique est particulièrement nécessaire pour les applications WebSphere, lorsque pureQuery Runtime écrit les données SQL capturées sur un fichier sur disque.

Il est inutile d'arrêter l'application si pureQuery Runtime stocke les données SQL capturées dans un référentiel créé dans une base de données. Les données SQL capturées sont écrites dans des enregistrements du référentiel. Lors de l'extraction des données, l'utilitaire pureQuery ManageRepository ne créent pas de fichiers pureQueryXML à partir des enregistrements qui sont toujours en cours d'utilisation pour capturer des données.


Commentaires