Si une application de bureau utilise ADO.Net pour se connecter à SQL Server 2008 R2 et utilise une requête paramétrée ad hoc pour récupérer des données, que se passe-t-il lorsque deux instances différentes de l'application exécuter la requête? Est-ce que le premier appel est compilé et le second utilise la version en mémoire?ADO.Net, requêtes paramétrées et mise en cache de plan
Exemple requête:
SqlConnection conn = new SqlConnection(_connectionString);
conn.Open();
string s = "SELECT email, passwd, login_id, full_name " +
"FROM members WHERE email = @email";
SqlCommand cmd = new SqlCommand(s);
cmd.Parameters.Add("@email", email);
SqlDataReader reader = cmd.ExecuteReader();
Je remarque les performances des requêtes lentes la première fois que la requête est tiré et appels consécutifs semblent être très bien. Je me demande simplement si ce comportement est global pour chaque instance de l'application ou si la première fois que la requête est déclenchée à partir d'une instance, elle améliore les performances pour toutes les instances de l'application qui utilisent cette requête.
Merci pour la réponse. Off pour créer des procs stockés pour cette application j'ai hérité. – beaudetious