Utilisation de marqueurs de paramètre pour réduire le temps de compilation des requêtes dynamiques
Le serveur de données Db2® peut éviter de recompiler une instruction SQL dynamique qui a été exécutée précédemment en stockant la section d'accès et le texte de l'instruction dans le cache de l'instruction dynamique.
Une demande de préparation ultérieure pour cette instruction tentera de trouver la section d'accès dans le cache d'instruction dynamique, en évitant la compilation. Cependant, les instructions qui diffèrent uniquement dans les littéraux utilisés dans les prédicats ne correspondront pas. Par exemple, les deux instructions suivantes sont considérées comme différentes dans le cache d'instructions dynamiques:
SELECT AGE FROM EMPLOYEE WHERE EMP_ID = 26790
SELECT AGE FROM EMPLOYEE WHERE EMP_ID = 77543Même les instructions SQL relativement simples peuvent entraîner une utilisation excessive de l'UC système en raison de la compilation d'instructions, si elles sont exécutées très fréquemment. Si votre système rencontre ce type de problème de performances, envisagez de modifier l'application afin d'utiliser des marqueurs de paramètre pour transmettre des valeurs de prédicat au compilateur Db2 , plutôt que de les inclure explicitement dans l'instruction SQL. Toutefois, le plan d'accès peut ne pas être optimal pour les requêtes complexes qui utilisent des marqueurs de paramètre dans les prédicats. Pour plus d'informations, voir Utilisation de l'option de liaison REOPT avec des variables d'entrée dans des requêtes complexes.