我希望能夠中止一個特定的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秒。