我在SQL Server 2008 R2中有一个用于Visual Studio 2015中的Web应用程序的存储过程。
我们在AWS上有我们的应用程序的测试实例。我们的SQL Server也驻留在同一个AWS实例上。
使用此存储过程执行时间不到一分钟。
我们的客户还拥有带有SQL Server 2008 R2的Windows Server和位于同一服务器上的应用程序。
但是同样的存储过程需要花费太多时间在客户的服务器上执行 - 大约10分钟甚至更长时间。
可能是什么原因?我们可以检查SQL Server或应用程序或Windows Server的哪些设置或条件或属性,以减少执行该存储过程所需的时间?
如何找出花费太多时间执行存储过程的原因?
感谢。
答案 0 :(得分:1)
以下是您可以遵循的方法..
1.尝试更新存储过程中涉及的所有表的统计信息
2.如果更新统计数据没有帮助,你可以检查执行计划,你可以比较你在两台机器上获得的执行计划,并试图看到差异。执行计划也取决于硬件..所以尝试看两台机器是否配置正确
3.您还可以检查是否有任何锁定,观察到阻塞,因为每台机器可能有不同的工作量