【问题标题】:SQL Server Query Taking Too Long Handling?SQL Server 查询处理时间过长?
【发布时间】:2011-03-23 15:06:43
【问题描述】:

我在存储过程中有一个复杂的查询。在 proc 本身中,我想判断事情需要多长时间,如果我认为已经超过 30 秒的阈值(这将迫使人们进行一些优化),则执行 RAISERROR。

任何人都可以在 TSQL 代码中说出一种体面的方式来实现这一点吗?

谢谢。

【问题讨论】:

  • 您可以在应用程序中强制执行命令超时吗?如果不是,我认为您需要服务代理。
  • 调用代码更好地处理超时。

标签: tsql sql-server-2008 raiserror


【解决方案1】:

您可以在开始可能代价高昂的查询之前发出set query_governor_cost_limit。但是,我相信这会在查询开始之前取消查询(如果估计花费的时间太长),而不是在实际达到限制时取消它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多