Re: stored proc bug with datetime variable
- From: "ujjc001" <ujjc001@xxxxxxxxx>
- Date: 14 Sep 2006 08:51:13 -0700
Ok, so I read
http://blogs.msdn.com/queryoptteam/archive/2006/03/31/565991.aspx and
it make sense but why then, was the SP'd call slower if it would have
recompiled vs the call in a raw query? I would assume that my date
column stats were messed up? Would that seem logical?
Erland Sommarskog wrote:
ujjc001 (ujjc001@xxxxxxxxx) writes:
two variables declared in my proc:
@DATE_RANGE_START as datetime,
@DATE_RANGE_END as datetime,
When I execute my SP it takes 34 seconds.
When I change the variables to:
@DATE_RANGE_START1 as datetime,
@DATE_RANGE_END1 as datetime,
and add this to my sp:
declare @DATE_RANGE_START datetime
declare @DATE_RANGE_END datetime
set @DATE_RANGE_START = @DATE_RANGE_START1
set @DATE_RANGE_END = @DATE_RANGE_END1
the SP runs in 9 seconds (which is expected)
Passing in '1/1/01' and '1/1/07' respectivly.
Everything else is equal and non-important to this problem.
Why does it take 34 seconds when I use the variables from the input
parameters?
Without knowing the tables, indexes and queries, it's impossible but
to answer in general terms.
The keyword is "parameter sniffing". When SQL Server builds the
query plan for a stored procedure, it uses the actual values of the
parameters in first invocation as guidance. On the other hand,
it is completely blind for the value of variables and makes standard
assumptions.
Usually it's better with more information, but sometimes it backfires,
for instance if statistics are not accurate.
--
Erland Sommarskog, SQL Server MVP, esquel@xxxxxxxxxxxxx
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
.
- Follow-Ups:
- Re: stored proc bug with datetime variable
- From: Erland Sommarskog
- Re: stored proc bug with datetime variable
- References:
- stored proc bug with datetime variable
- From: ujjc001
- Re: stored proc bug with datetime variable
- From: Erland Sommarskog
- stored proc bug with datetime variable
- Prev by Date: Re: cross server update problem
- Next by Date: Newbie Question on DB Maintenance Plan
- Previous by thread: Re: stored proc bug with datetime variable
- Next by thread: Re: stored proc bug with datetime variable
- Index(es):
Relevant Pages
|