前言
關(guān)于SQL Server基礎(chǔ)系列尚未結(jié)束,還剩下最后一點(diǎn)內(nèi)容未寫,后面會(huì)繼續(xù)。有園友詢問(wèn)我什么時(shí)候開始寫SQL Server性能系列,估計(jì)還得等一段時(shí)間,最近工作也比較忙,但是會(huì)陸陸續(xù)續(xù)的更新SQL Server性能系列,本篇作為性能系列的基本引導(dǎo),讓大家嘗嘗鮮。在涉及到SQL Server性能優(yōu)化時(shí),我看到的有些文章就是一上來(lái)列出SQL Server的性能優(yōu)化條例,根本沒(méi)有弄清楚為什么這么做,當(dāng)然也有可能是自己弄懂了,只是作為備忘錄,但是到了我這里,我會(huì)遵循不僅僅是備忘錄,還要讓各位園友都能易于理解,不至于面試時(shí)只知道其果,不知其因。
存儲(chǔ)過(guò)程性能優(yōu)化
禁用受影響函數(shù)通過(guò)設(shè)置SET NOCOUNT ON
如上當(dāng)我們進(jìn)行查詢時(shí)總是會(huì)返回受影響的行數(shù),這種消息只是對(duì)于我們調(diào)試SQL時(shí)有幫助,其他再無(wú)其他幫助,我們可以通過(guò)設(shè)置 SET NOCOUNT ON 來(lái)禁用這個(gè)特性,這將有顯著的性能提升,有利于減少網(wǎng)絡(luò)流量的傳輸。在存儲(chǔ)過(guò)程中我們像如下設(shè)置。
CREATE PROC dbo.ProcName ASSET NOCOUNT ON;--Your Procedure code SELECT [address], city, companyname FROM Sales.Customers-- Reset SET NOCOUNT to OFFSET NOCOUNT OFF;GO