Re: compilation and execution plan
From: Tibor Karaszi (tibor_please.no.email_karaszi_at_hotmail.nomail.com)
Date: 11/25/04
- Next message: Jacco Schalkwijk: "Re: Collation in SQL Server"
- Previous message: Tibor Karaszi: "Re: i cannot start sqlserver's service"
- In reply to: Alex: "compilation and execution plan"
- Next in thread: Alex: "Re: compilation and execution plan"
- Reply: Alex: "Re: compilation and execution plan"
- Reply: Kalen Delaney: "Re: compilation and execution plan"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 25 Nov 2004 13:09:48 +0100
Alex,
The difference is in the difference between the words "compile" and "recompile". If you drop and
create the proc, the proc plan doesn't exist and fir the first execution you get a compilation. Same
if you empty the proc cache.
However, if you sp_recompile a table that the proc is using, the plan is still in cache and for the
next execution SQL Server will need to REcompile that plan.
-- Tibor Karaszi, SQL Server MVP http://www.karaszi.com/sqlserver/default.asp http://www.solidqualitylearning.com/ "Alex" <alex_remove_this_@telus.net> wrote in message news:pSepd.2111$cE3.1783@clgrps12... > Hi guys, > > I'm confused on following situation, - I'm definitely missing something. I > have SP which plan is already in cache. The SP references table MyTable. I > setup trace on recompile and all cache related events and it runs during > test nonstop. > > Here is what I did (before dash) and > what I saw in Profiler (after dash) on each action: > > DBCC FREEPROCCACHE - sp:cacheremove > exec MySP - sp:cachemiss, sp:cacheinsert > drop procedure MySP - sp:cacheremove > CREATE PROCEDURE MySP - none > exec MySP - sp:cachemiss, sp:cacheinsert > exec sp_recompile MyTable - none > exec MySP - sp:ExecContextHit, sp:cacheremove, > sp:recompile, > sp:cachemiss, sp:cacheinsert > > My question is Why I can't see sp:recompile events > when I execute SP after DBCC and then after DROP/CREATE statements? > My understanding is that if plan is removed from cache > it doesn't exist anymore and has to be compiled to enable SP to execute next > time (what we see when SP is executed after > exec sp_recompile MyTable)? > But instead we see sp:cacheinsert event right after sp:cachemiss event. It's > inserted into cache but from where? On which step did it get compiled? > > I'd be highly grateful for any information. > > Alex > >
- Next message: Jacco Schalkwijk: "Re: Collation in SQL Server"
- Previous message: Tibor Karaszi: "Re: i cannot start sqlserver's service"
- In reply to: Alex: "compilation and execution plan"
- Next in thread: Alex: "Re: compilation and execution plan"
- Reply: Alex: "Re: compilation and execution plan"
- Reply: Kalen Delaney: "Re: compilation and execution plan"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
Loading