Avant de commencer l'exécution d'une requête, d'un lot, d'une procédure stockée, d'un déclencheur, d'une instruction préparée ou d'une instruction SQL dynamique sur un SQL Server, le lot est compilé et un plan d’exécution est généré. Le plan est ensuite exécuté pour produire un effet ou des résultats.
Les plans compilés sont enregistrés dans une portion de la mémoire du serveur SQL nommée cache de plan. Le cache de plan est exploré en vue de réutilisations possibles. Si on réutilise un plan pour un lot, on peut éviter les coûts de compilation ou recompilation. Les plans sont mis en cache dans l'éventualité de leurs réutilisations. Si un plan n’est pas mis en cache, la probabilité qu’il soit réutilisé est nulle. Dans cet article, nous décrirons quelques bonnes pratiques de programmation pour l'utilisation efficace du cache de plan.
Si votre application utilise la même requête avec seulement les valeurs des paramètres changeant d’une exécution à l’autre, paramétrer la requête dans le code de l’application avant l’exécution donne des gains significatifs de performance. Les gains d’exécution viennent du fait que la requête est compilée juste une fois pour l’exécution.
L’exécution préparée fournit également l’avantage de réduire le trafic réseau en éliminant la nécessité d’envoyer le texte des requêtes à SQL Server à chaque fois. Dans les cas où le texte de la requête est assez grand, le coût de transmission du texte du client au serveur à plusieurs reprises peut rapidement être non négligeable. Dans le cas de l’exécution préparée, tout ce qui doit être envoyé sur le réseau sont les valeurs des paramètres, et le handle de la requête (il y a une liste handles préparées par session).
Le handle préparé et associé avec une valeur hâchée représentant le texte de la requête qui ne doit être compilée qu’une fois (contre une fois par exécution en cas de non paramétrisation). En outre puisque le serveur ne fait aucune paramétrisation, il n’y a aucune chance que le cache de plan explose dû à un trop grand nombre de textes de requêtes.
Téléchargez cette ressource
Travail à distance – Guide complet pour les Directions IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.