OVH Cloud OVH Cloud

Procédure stockée

1 réponse
Avatar
nono
Bonjour,
Nous avons une procédure stockée qui utilise énormément les procédures
stockeés. La taille du cache contenant les plans d'execution et les contextes
utilisateurs atteint 1,7 Go, sur un serveur qui ne contient que 2 Go de RAM.
Je m'étonne de cette taille et en cherche la raison sachant que le nombre de
procédure stockée n'est pas important, une dizaine.
Le plan d'execution d'une storproc est-il commun à tout les utilisateurs ou
spécifique à chaque, une fois compilé ? A mon avis seul le contexte (les
parametres de la storproc ) sont spécifiques à l'utilisateur.
Le plan n'est recompilé que lorsque l'utilisateur lance la premiére fois la
requête et en cas de modification de la structure de la base, et non lorsque
les parametes sont différents, n'est ce pas ?
Le compteur du perfmon Cache Hit Ratio m'indique une taux de présence des
données dans le cache avoisinant les 98 %. Ce taux est bon mais me surprend
dasn la mesure ou vu la taille du cache de procdure, le cache de données ne
doit pas avoir une taille importante. Ce compteur concerne t-il l'ensemble
des caches de SQL ou uniquement le cache de données.
Cordialement,
BH.

1 réponse

Avatar
jgabillaud
Bonjour,
Si la procédure stockée à été créée avec l'option with recompile, elle est
recompilé lors de chaque exécution afin d'adapté le plan d'exécution au
mieux. Parfait lorsque l'utilisation est exceptionnel
Sinon effectivvement elle n'est pas recompilé de façon systématique.

"nono" a écrit :

Bonjour,
Nous avons une procédure stockée qui utilise énormément les procédures
stockeés. La taille du cache contenant les plans d'execution et les contextes
utilisateurs atteint 1,7 Go, sur un serveur qui ne contient que 2 Go de RAM.
Je m'étonne de cette taille et en cherche la raison sachant que le nombre de
procédure stockée n'est pas important, une dizaine.
Le plan d'execution d'une storproc est-il commun à tout les utilisateurs ou
spécifique à chaque, une fois compilé ? A mon avis seul le contexte (les
parametres de la storproc ) sont spécifiques à l'utilisateur.
Le plan n'est recompilé que lorsque l'utilisateur lance la premiére fois la
requête et en cas de modification de la structure de la base, et non lorsque
les parametes sont différents, n'est ce pas ?
Le compteur du perfmon Cache Hit Ratio m'indique une taux de présence des
données dans le cache avoisinant les 98 %. Ce taux est bon mais me surprend
dasn la mesure ou vu la taille du cache de procdure, le cache de données ne
doit pas avoir une taille importante. Ce compteur concerne t-il l'ensemble
des caches de SQL ou uniquement le cache de données.
Cordialement,
BH.