2010-10-18 139 views
2

我想知道我們是否可以超時一個SQL查詢。超時查詢

從這個意義上說,假設我有一個sql查詢的輸出是有用的,只有在10分鐘內給出輸出後,即使它輸出結果對我沒用。

我想要做的是,如果查詢花費超過10分鐘來處理,那麼它應該只是自殺。

有沒有可能的方法呢?

一個例子會很有幫助。

讓我知道,如果我的想法是不是難以理解..

+0

如果查詢需要10分鐘,則(a)你有一個非常大的數據庫,(b)您有所有查詢的母親(不太可能) ,或者(c)您需要重新評估您的索引。我的錢是在(c) – 2010-10-18 08:39:54

+0

10分鐘只是一個隨機值我拿了例如..你可以想到的任何時間 – Egalitarian 2010-10-18 08:42:49

+0

如果一個查詢需要超過30秒,我會看着它... – 2010-10-18 08:46:02

回答

4

下面是它會是什麼樣子的SqlCommand.CommandTimeout

SqlCommand cmd = new SqlCommand(); 
    cmd.CommandText = "SELECT blah FROM Categories ORDER BY CategoryID"; 
    cmd.CommandTimeout = 600; // 10 minutes = 600 seconds 
    // Caveat: it you need a timeout value of more than 30 - 60 seconds 
    //   perhaps time to look at why it takes so long... 
0

您可以將Command對象的CommandTimout屬性設置爲10分鐘。當命令超時時,SQL Server會注意到連接被刪除並取消查詢。

+0

可以舉一個例子..會有很多幫助 – Egalitarian 2010-10-18 08:44:26