> Tech > 1.2 – Le cache des procédures

1.2 – Le cache des procédures

Tech - Par Renaud ROSSET - 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 cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010