如何优化存储过程以避免响应超时

Jian Ning 60 信誉分
2024-10-28T07:04:29.32+00:00

我有一个存储过程查询,在应用端查询时,有时会显示超时。

我的数据库中存有好几年的数据,并且每天都在增加,或许是由于这个原因,查询超时了。但是有时候我在生产数据库上执行此查询时只需要几秒钟。

我不确定如何解决这个问题。

SQL Server | 其他
0 个注释 无注释

问题作者接受的答案

LiHongMSFT-4306 31,621 信誉分
2024-10-28T07:17:42.9566667+00:00

你提到的响应超时,一般是发生在应用客户端,大部分 API 的默认timeout为 30 秒。您可以尝试将timeout更改为 0。

排查查询超时错误

关于存储过程查询的优化,由于不清楚您具体的存储过程,你可以先参考语句优化的策略结合实际查询进行优化。


如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

此答案是否有帮助?

0 个注释 无注释

1 个其他答案

排序依据: 非常有帮助
  1. 博雄 胡 765 信誉分
    2024-10-29T02:12:46.91+00:00

    执行这个sp_refreshsqlmodule '存储过程名',通常能解决一时。

    在存储过程中添加with recompile或者option(recompile)能长期避免,但有代价。

    此答案是否有帮助?

    0 个注释 无注释

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。