我有一个本地应用程序(Web应用程序,但可以在控制台应用程序中重现),它正在访问托管在AWS上的远程SQL服务器。我们有一个性能问题,我正在尝试调试,但遇到了困难。我运行了Visual Studio2013性能工具,所有迹象表明我有一个错误的查询(cmd.ExecuteReader是99%的样本数据和大约9秒的时间)。下一步要做的合乎逻辑的事情是在AWS托管的sql服务器上运行查询分析器。这就是奇怪的地方,查询分析器报告查询花费了20ms。
所以我不能在这里解决时间上的差异,在我的代码中,执行一个查询需要9秒,但sql分析器报告相同的查询需要20毫秒。还有没有其他我可以从sql端看到的东西(也许是连接时间、等待时间、发送时间)?
发布于 2015-07-03 02:54:19
您缺少的部分是网络流量。服务器上的查询执行时间是执行查询所需的时间...只涉及很少或不涉及网络流量。
一旦远程执行,查询花费的时间是相同的,但是现在结果集必须从远程DB到达您的客户机。根据每行的大小、多少行和网络延迟,这可能会增加相当多的时间。
你的结果集有多大?
https://stackoverflow.com/questions/31191291
复制相似问题