Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 StoredProc generates plan every 2 times

Author  Topic 

Grigoryev Sojkov
Starting Member

2 Posts

Posted - 2012-10-19 : 06:16:35
Hello, guys. Here's my problem.

WinForms .NET app calls stored procedure via DataSets. Here's part of SQL log:

238ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='UO',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2051,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
258ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='Art188',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2052,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
11ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='UO',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2223,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
11ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='Art188',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2224,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
239ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='BAD.LEK.',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2298,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
6ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='BAD.LEK.',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2299,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
316ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='DPP',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2418,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
10ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='DPP',@pIdListy=1532,@pIdUmowy=7764,@pSekwencja=1,@pIdSkladnika=2419,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
233ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='UO',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2051,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
235ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='Art188',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2052,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
7ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='UO',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2223,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
10ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='Art188',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2224,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
226ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='BAD.LEK.',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2298,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
6ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='BAD.LEK.',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2299,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
247ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='DPP',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2418,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
6ms exec dbo.Algorytm160 @pCzesc='DOPLATA',@pKodNieobecnosci='DPP',@pIdListy=1532,@pIdUmowy=13173,@pSekwencja=1,@pIdSkladnika=2419,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1
358ms exec dbo.Algorytm160 @pCzesc='ZASADNICZA',@pKodNieobecnosci='UO',@pIdListy=1532,@pIdUmowy=7785,@pSekwencja=1,@pIdSkladnika=2051,@pZaokraglenia='P:9S:2',@pUrlopOkolMiesWystapienia=1

As you can see for parameter @pCzesc='ZASADNICZA' it takes 50 times longer.
When I take one of these lines above and run it under Management Studio it takes 200-300 ms for first time and <10 ms for every subsequent run. It is understood to me that this time is consumed by plan generation. But why execution plan is generated for that stored procedure every time (with parameter @pCzesc='ZASADNICZA') when called by my .NET app?

AndrewMurphy
Master Smack Fu Yak Hacker

2916 Posts

Posted - 2012-10-19 : 07:10:18
can you display the proc? exclude private info if needed.

are the underlying tables indexed? have statistics been updated?
do you have the same sort of volume of data for ZASADNICZA as for DOPLATA?
Go to Top of Page

Grigoryev Sojkov
Starting Member

2 Posts

Posted - 2012-10-19 : 07:36:08
Thanks for reply, however Profiler has shown there were no recompiles involved. It was missing index (the table was not needed for DOPLATA), so whole topic was unnecessary. Sorry!
Go to Top of Page
   

- Advertisement -