我的团队和我正在经历一些神秘,我们所有的调查都没有结果。我希望SO上的某个人可以为我们提供额外的探索途径。
我有一个执行查询并显示结果的网站。当这个网站在我的开发机器或测试服务器上时,它的速度非常慢,甚至经常超时。
当我发布网站数据库服务器时,查询执行时间很快。
查询的有效负载只有大约10-15k,因此结果集的大小不应该像这样影响性能。
我们的网络管理员表示数据库服务器和测试服务器位于公司局域网上,该局域网可以对局域网上的所有内容进行全面开放访问。
是否有人对可能影响查询效果的内容有任何建议?我们都有点沮丧。我可以很好地打开连接,但是一旦我尝试用我的适配器填充数据表,事情就会停滞:
using (SqlConnection cnSource = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ToString()))
{
cnSource.Open();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, cnSource))
{
adapter.Fill(records); /*** THIS LINE IS SLOW REMOTELY ***/
}
编辑:大约100条记录,4列
查询fwiw是:
查询是:
SELECT ef.Name AS EventFrame, ef.StartTime, efa.Name AS EventFrameAttribute,
CAST(efs.Value as String) as AttrValue
FROM [Reporting].[EventFrame].[EventFrame] ef
INNER JOIN [Reporting].[EventFrame].[EventFrameAttribute] efa ON efa.EventFrameID = ef.ID
INNER JOIN [Reporting].[Data].[EventFrameSnapshot] efs ON efs.EventFrameAttributeID = efa.ID
WHERE ef.StartTime >= N'{0}'
AND (efa.Name =N'ProductCategory' or efa.Name =N'ActualCases' or efa.Name=N'Target')
AND ef.EventFrameTemplateID=N'9b616c78-7ad3-47a1-a5ae-26d299beb50c'
ORDER BY ef.Name, ef.StartTime, ef.EndTime, efa.Path, efa.Name",
start.ToString(new CultureInfo("en-CA"))
谢谢!
克里斯
答案 0 :(得分:0)
尝试在连接字符串中尝试不同的服务器地址。我有一个案例,其中sql语句在被引用为(本地)时执行速度非常慢,但在我使用IP地址127.0.0.1时正常执行