La meilleure information pour le sujet trouvé sur MSDN est ici: Mise en cache et réutilisation du plan d'exécution
. Citation de l'article MSDN:
"Suppression de plans d'exécution du cache de procédures
Les plans d'exécution restent dans le cache de procédures tant qu'il y a suffisamment de mémoire pour les stocker. En cas de pression mémoire, le moteur de base de données utilise une approche basée sur les coûts pour déterminer les plans d'exécution à supprimer du cache de procédures. Pour prendre une décision basée sur les coûts, le moteur de base de données augmente et diminue une variable de coût actuelle pour chaque plan d'exécution en fonction des facteurs suivants.
En cas de pression mémoire, le moteur de base de données répond en supprimant les plans d'exécution du cache de procédures. Pour déterminer les plans à supprimer, le moteur de base de données examine à plusieurs reprises l'état de chaque plan d'exécution et supprime les plans lorsque leur coût actuel est nul. Un plan d'exécution avec un coût actuel nul n'est pas supprimé automatiquement lorsque la pression de la mémoire existe; il n'est supprimé que lorsque le moteur de base de données examine le plan et que le coût actuel est nul. Lors de l'examen d'un plan d'exécution, le moteur de base de données pousse le coût actuel vers zéro en diminuant le coût actuel si une requête n'utilise pas actuellement le plan. "
Il vaut mieux lire l'article complet, c'est très bien documenté. Voyez qu'il a aussi quelques liens.