我在SQL Azure数据库中有一个存储过程。如果我通过SSMS运行这个存储过程,它总是需要大约1秒才能运行。如果我使用SqlCommand对象从Azure上运行的Web角色应用程序运行,它通常(并非总是)运行缓慢并最终超时。与通过SSMS或SqlCommand运行会有什么不同?
答案 0 :(得分:1)
SQL Server将选择并缓存存储过程的执行计划。该计划可针对给定的一组参数进行优化,对其他参数来说是一个糟糕的选择。
您应该查看它选择的执行计划,并评估它是否适合您最常见或最繁重的查询。
可能的解决方案包括根据需要创建(或删除)索引,或使用优化提示。
查询优化比起初看起来更复杂和微妙。一些有用的参考: