> Tech > 1.2 – Le cache des procédures

1.2 – Le cache des procédures

Tech - Par iTPro - Publié le 24 juin 2010
email

S’il est un cache bien amusant, c’est celui des procédures. Il sert simplement à se souvenir que tel ou tel bout de code – en fait et plus précisément, telle ou telle requête – a déjà été jouée et que l’on en a déduit un plan d’exécution. Toute requête SQL

est en fait une chaîne de caractères. Pour savoir si une requête a déjà été jouée, aux paramètres près12, il suffit de comparer les chaînes de caractères des requêtes déjà présentes dans le cache avec la nouvelle arrivée. Si la phrase est identique, le plan de requête déjà établi est immédiatement rejoué.

On économise ainsi un nouveau calcul du plan de requête. Mais les caches de procédures, qu’ils soient Oracliens ou Microsofties portent tous le même défaut : pour être rapides, ils se contentent d’analyser binairement les chaînes de caractères. Autrement dit, une même requête écrite, l’une avec des noms d’objet en majuscule et l’autre, sa soeur jumelle, écrite avec un mélange de majuscules et de minuscules feront l’objet de deux entrées dans le cache donc de deux plans de requêtes.

C’est à dire : deux fois plus de temps de calcul pour le plan mais surtout deux fois plus de volume pour le cache. Or, plus de cache mangé pour les procédures, c’est moins de cache pour les données… Vous pouvez donc en déduire une première règle de minimisation du cache : écrire toujours vos requêtes de la même façon, en particulier pour la casse. Et pour cela, vous disposez d’un atout simple avec SQL Server : la collation d’installation ! Préférez là binaire… Second commandement : les requêtes devront toujours être écrites de la même façon (en particulier avec la même casse) afin de minimiser globalement le cache.

Téléchargez gratuitement cette ressource

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Guide de facturation électronique, voie royale pour le DAF et la digitalisation de la fonction finance

Ce livre blanc expose les problématiques auxquelles sont confrontés les DAF modernes et souligne les bénéfices de la facturation électronique pour la trésorerie. Il dévoile également le processus de déploiement de ce projet de transformation digitale que la réglementation rendra bientôt obligatoire.

Tech - Par iTPro - Publié le 24 juin 2010