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

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

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

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

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

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
167 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 28,121 信誉分
    2024-10-28T07:17:42.9566667+00:00

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

    排查查询超时错误

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


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

    0 个注释 无注释

1 个其他答案

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

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

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

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。