2009-01-19 77 views
3

對於在專用SQL Server上運行的大型數據庫(數千個存儲過程),最好是將SET NOCOUNT ON包含在每個存儲過程的頂部,或者在服務器級別設置該選項(屬性 - >連接 - >「沒有數「複選框)?這聽起來像DRY原則(「不要重複自己」)適用,並且該選項應該設置在一個地方。如果SQL Server還託管了其他數據庫,則會反對將其設置在服務器級別,因爲其他應用程序可能依賴於它。 SET NOCOUNT的最佳去處是哪裏?SET NOCOUNT的最佳地點在哪裏?

回答

2

將其設置爲服務器的默認值(除了歷史原因外,這是默認值)。我從一開始就爲所有服務器執行此操作。想知道爲什麼SET NOCOUNT ON而不是SET COUNT OFF?這是因爲在Sybase時代,唯一的UI就是CLI;當查詢可能顯示沒有結果時顯示計數是自然的,因此沒有指示它是完整的。

1

由於它是一個專用的服務器,我將它設置在服務器級別,以避免必須將其添加到每個存儲過程。 唯一的問題就是如果你想要一個沒有計數的存儲過程。

相關問題