如果我有一个使用 ADO.Net 连接到 SQL Server 2008 R2 并使用即席参数化查询来检索数据的桌面应用程序,那么当应用程序的两个不同实例运行查询时会发生什么情况?第一个调用是否被编译,第二个调用是否使用内存版本?
示例查询:
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();
我注意到第一次触发查询时查询性能很慢,并且连续调用似乎很好。我只是想知道这是否是应用程序每个实例的全面行为,或者如果第一次从一个实例触发查询,它会提高使用此查询的所有应用程序实例的性能。