sql调优

 SET STATISTICS IO ON

 

 

清除缓存

DBCC DROPCLEANBUFFERS

DBCC FREEPROCCACHE

时间观察

SET STATISTICS TIME ON

parameter sniffing(reuse execution plan)

 

ALTER PROCEDURE Get_SalesOrderHeader   ( 

@FromCustid INT, @ToCustid INT  )  AS 
SELECT * FROM Sales.SalesOrderHeader WHERE CustomerID BETWEEN @FromCustid AND @ToCustid  OPTION (OPTIMIZE FOR(@FromCustid = 11000,@ToCustid = 11002))

 

ALTER PROCEDURE Get_SalesOrderHeader  
( @FromCustid INT, @ToCustid INT  )  
AS 
SELECT * FROM Sales.SalesOrderHeader WHERE CustomerID BETWEEN @FromCustid AND @ToCustid  OPTION (RECOMPILE)

GO

 

ALTER PROCEDURE Get_SalesOrderHeader   ( 

@FromCustid INT, @ToCustid INT  )  AS

DECLARE  @local_FromCustid int

DECLARE  @local_ToCustid INT
SELECT * FROM Sales.SalesOrderHeader WHERE CustomerID BETWEEN @local_FromCustid AND @local_ToCustid 

posted @ 2014-08-13 11:49  fannet  阅读(110)  评论(0)    收藏  举报