SQL Server參數(shù)化查詢的概念與創(chuàng)建
此文主要向大家描述的是SQL Server參數(shù)化查詢的概念,以及自動創(chuàng)建SQL Server數(shù)據(jù)庫參數(shù)化查詢的實際操作步驟,以下的文章主要是對這兩個相關內容的介紹,希望會給你帶來一些幫助在此方面。
什么是SQL Server參數(shù)化查詢?
一個簡單理解參數(shù)化查詢的方式是把它看做只是一個T-SQL查詢,它接受控制這個查詢返回什么的參數(shù)。通過使用不同的參數(shù),一個參數(shù)化查詢返回不同的結果。要獲得一個參數(shù)化查詢,你需要以一種特定的方式來編寫你的代碼,或它需要滿足一組特定的標準。
有兩種不同的方式來創(chuàng)建參數(shù)化查詢。***個方式是讓查詢優(yōu)化器自動地參數(shù)化你的查詢。另一個方式是通過以一個特定方式來編寫你的T-SQL代碼,并將它傳遞給sp_executesql系統(tǒng)存儲過程,從而編程一個參數(shù)化查詢。這篇文章的后面部分將介紹這個方法。
參數(shù)化查詢的關鍵是查詢優(yōu)化器將創(chuàng)建一個可以重用的緩存計劃。通過自動地或編程使用參數(shù)化查詢,SQL Server可以優(yōu)化類似T-SQL語句的處理。這個優(yōu)化消除了對使用高貴資源為這些類似T-SQL語句的每一次執(zhí)行創(chuàng)建一個緩存計劃的需求。而且通過創(chuàng)建一個可重用計劃,SQL Server還減少了存放過程緩存中類似的執(zhí)行計劃所需的內存使用。
現(xiàn)在讓我們看看使得SQL Server創(chuàng)建參數(shù)化查詢的不同方式。
SQL Server參數(shù)化查詢是怎樣自動創(chuàng)建的?
微軟編寫查詢優(yōu)化器代碼的人竭盡全力地優(yōu)化SQL Server處理你的T-SQL命令的方式。我想這是查詢優(yōu)化器名稱的由來。這些盡量減少資源和***限度地提高查詢優(yōu)化器執(zhí)行性能的方法之一是查看一個T-SQL語句并確定它們是否可以被參數(shù)化。要了解這是如何工作的,讓我們看看下面的T-SQL語句:
- SELECT *
- FROM AdventureWorks.Sales.SalesOrderHeader
- WHERE SalesOrderID = 56000;
- GO
在這里,你可以看到這個命令有兩個特點。***它簡單,第二它在WHERE謂詞中包含一個用于SalesOrderID值的指定值。查詢優(yōu)化器可以識別這個查詢比較簡單以及SalesOrderID有一個參數(shù)(“56000”)。因此,查詢優(yōu)化器可以自動地參數(shù)化這個查詢。
上述的相關內容就是對SQL Server參數(shù)化查詢的概念與自動創(chuàng)建的描述,希望會給你帶來一些幫助在此方面。
原文標題:SQL Server參數(shù)化查詢
連接:http://www.cnblogs.com/ylqmf/archive/2010/05/25/1743766.html
【編輯推薦】