什麼是在SQL服務器查詢中關閉NOCOUNT
的優缺點? 在SQL服務器查詢中關閉NOCOUNT有哪些優缺點?
回答
從SQL BOL:
SET NOCOUNT ON防止 DONE_IN_PROC消息到客戶端 發送用於在存儲 過程的每個語句。對於 包含幾個語句不 回報多少實際數據的存儲過程,設置設爲 NOCOUNT爲ON時,提供 顯著的性能提升,因爲 網絡流量大大減少。
查看http://msdn.microsoft.com/en-us/library/ms189837.aspx瞭解更多詳情。
此外,這篇文章在SQLServerCentral關於這個問題很大:
Performance Effects of NOCOUNT
而且這不只是減少網絡流量。 SQL Server內部有一個提升,因爲執行計劃可以優化,因爲減少了一個額外的查詢來確定有多少行受到影響。
它只是停止顯示影響發送/顯示行數的消息,這會提供一個好處,特別是如果您有許多將返回消息的語句。它提高了性能,因爲通過網絡發送的數據較少(在sql server和前端之間)。
更多在BOL:SET NOCOUNT
我總是有它設置爲ON由於上述原因,但如果你有超過1周的結果在你的進程內設置可能會搞糟的客戶端代碼
我個人很喜歡將NOCOUNT應用於以手動方式運行的查詢,並使用大量Print
語句輸出調試消息。這樣一來,你的輸出看起來不那麼像:
Updating usernames (287 rows updated) Done Updating passwords (287 rows updated) Done Doing the next thing (1127 rows updated) Done
,而更像
Updating usernames Done Updating passwords Done Doing the next thing Done
根據您要更新什麼的敏感性,有時是有幫助的包括計數;然而,對於具有大量輸出的複雜腳本,我通常喜歡將它們排除在外。
SET NOCOUNT ON是一個oneline語句,Sql服務器將消息發送回client.this是爲每個進程執行的(即選擇,插入,更新,刪除)。如果你避免這個消息,我們可以提高整體性能爲我們的數據庫,也減少了網絡流量
對於EX:
聲明@a表(ID INT)
SET NOCOUNT上
插入@一個選擇1個聯合選擇2
SET NOCOUNT關閉
停止指示受一橫貫的行數消息act-SQL語句作爲結果的一部分返回。
- 1. 企業庫的Msmqdistributor服務有哪些優缺點?
- 2. 使用dbml進行linq2sql查詢有哪些優缺點?
- 3. DevExpress Reports有哪些優點/缺點?
- 4. 使用SQLDataReader有哪些優點/缺點?
- 5. 提示和技巧有關查詢優化[SQL服務器2005]
- 6. 在純Java環境中,Web服務和RMI有哪些優缺點?
- 7. 使用GAC有哪些優缺點?
- 8. Solr和ElasticSearch有哪些優缺點?
- 9. 使用boost :: iterator_facade有哪些優缺點?
- 10. 屬性模式有哪些優缺點?
- 11. RDB2RDF工具有哪些優缺點?
- 12. Laravel mysql查詢關閉服務器
- 13. SQL服務器 - 髒讀優點和缺點
- 14. 使用SQL查詢設計器優點和缺點
- 15. C#中的類型推斷有哪些優點和缺點?
- 16. 使用Django模板系統服務CSS和JavaScript有哪些優缺點
- 17. 在AngularJS中使用Jquery UI有哪些優缺點?
- 18. 在Excel-DNA中標記函數IsMacroType有哪些優缺點?
- 19. 在硒中使用「xpath」有哪些優缺點?
- 20. 在grails域類中編寫類方法有哪些優缺點?
- 21. 使用主要.NET開發機器的服務器操作系統有哪些優點/缺點?
- 22. 查詢在Sql服務器
- 23. 在SQL Server表中存儲規範化數據有哪些優缺點
- 24. 客觀地說,Cairngorm優於PureMVC有哪些優缺點?
- 25. 優雅地關閉Gorilla服務器
- 26. 這些不同的函數定義有哪些優缺點?
- 27. 這些不同的dealloc策略有哪些優缺點?
- 28. 有很多列的sql服務器查詢優化
- 29. SQL服務器 - 優化這個查詢有600萬條記錄
- 30. Delphi Prism 2010/2011有哪些優點/缺點?
它特別*在使用遊標的查詢中是強制性的。 – 2010-10-15 22:02:48