我希望能够中止一个特定的SQL语句,如果它需要超过指定的秒数。我怎样才能做到这一点?可以在给定的时间范围内中止特定的sql语句吗?
例如,我想这样做:
SET NextStatementTimeOutSeconds = 60
SELECT * FROM MyTable
IF @@LastStatementTimedOut = 1
PRINT 'Statement timed out after 60 seconds'
ELSE
PRINT 'Statement completed in less than 60 seconds'
请注意,我为了说明我想做些什么由NextStatementTimeOutSeconds
和@@LastStatementTimedOut
。
感谢您的建议。如果可能的话,我正考虑在单个SQL脚本/批处理中使用如上所述的超时。
背景:我们有几个存储过程,我希望比X秒更快。所以我会一个接一个地给他们打个电话。如果一个人花费的时间超过X秒,我只能放弃并打印一条语句,比如“sproc 13花费太长时间”。数据不尽相同,我试着尝试不同的索引更改,所以我想在进行这些更改之后对所有sprocs进行时间测试,以确保它们都低于X秒。