Vraag : sp_configure en serverparameters

Hello ppl,

ik roep opgeslagen procedure van DBArtisan het meer dan 3 uit te voeren minuten en minder dan 10 seconden voor verdere uitvoeringen voor het eerst vergt. De dagelijkse procedure vergt voor het eerst meer dan 3 minuten…

I zou houden van aan know
1. Hoe kom het vergde voor het eerst meer dan 3 minuten uit te voeren? en het vraagplan wordt niet opgeslagen op de server…
2. Welke serverconfiguratie ik zou moet en hoe ik dat moeten doen veranderen?
3. Is dit wat waar verwant met parameters van sp_configure? (d.w.z. vervangt de abstracte planstortplaats, abstracte planlading, abstract plan of vat plangeheim voorgeheugen samen)
4. wanneer ik probeer om de parameters te veranderen d.w.z. gelopen
sp_configure „abstracte planstortplaats“, retuned 1
It foutenmelding zeggend dat ik sa_role geen toestemming heb om dit…

5 uit te voeren. Moet ik volgen het stap…
sp_drop_gpgroup groupname
go
set- planstortplaats groupname on
go
set- planlading groupname on
go
set- plan winst on
go


I gevonden that

sp_help_qpgroup ap_stdin, ap_stdout vervangt en er geen andere ap_stdin winst group.
sp_help_qpgroup geen rows.
sp_help_qpgroup ap_stdout is, keerden de tellingen geen rows.
terug

Antwoord : sp_configure en serverparameters

Ik denk u voor zich in het veronderstellen krijgt dit om het even wat met betrekking tot abstracte vraagplannen is, is er geen reden (nog) zelfs om te denken zij wordt betrokken.

Sybase compileert procedures (en alle codevoorwerpen) in vraagplannen in proceduregeheim voorgeheugen. Dit is enkel als gegevensgeheim voorgeheugen, in zoverre dat het een het meest-onlangs-Gebruikte aan minst-onlangs-Gebruikte ketting is. De oude pagina's zullen uiteindelijk oud uit geheim voorgeheugen worden als andere dingen in het moeten worden geladen. Zo zou het totaal kunnen zijn dat andere verwerking de vraag 's nachts plannen uit proceduregeheim voorgeheugen veroudert en de eerste uitvoering van de dag het herlaadt.

Samenvatting: Enkel omdat het in proceduregeheim voorgeheugen eens niet was betekent het nog daar op dit ogenblik zal zijn.

Het de proceduregeheime voorgeheugen van Sybase is niet inspringend. Dit betekent één enkel vraagplan niet tussen processen kan worden gedeeld. Als twee processen de zelfde procedure in werking stellen, zal elk hun eigen vraagplan in geheim voorgeheugen krijgen. Als er slechts één momenteel in geheim voorgeheugen (en het wordt gebruikt) zijn, nieuwe moet worden gecompileerd en worden geladen.

Samenvatting: Enkel omdat het in proceduregeheim voorgeheugen op dit ogenblik niet is betekent u het kunt gebruiken.

Zelfs als er een extra (ongebruikt) vraagplan in proceduregeheim voorgeheugen is, zou u het hoe dan ook kunnen niet gebruiken. Als de procedure met „met recompile“ optie werd gecre�ërd, zal het zijn recompiled telkens als het wordt uitgevoerd. Of het zou met „met recompile kunnen uitgevoerd te zijn“ die het zelfde effect zal hebben. Of iemand zou „sp_recompile“ op een lijst kunnen in werking gesteld hebben die de procedure gebruikt (algemeen na één of andere vorm van het bevel „van updatestatistieken“), wat het zelfde effect zal hebben. Of zelfs zonder om het even welk van die oorzaken, zijn er andere mogelijke oorzaken voor het vereisen van recompile van een vraagplan, zoals de uitputtende beschrijvers van het meta-gegevensgeheime voorgeheugen, die alle vraagplannen voor een voorwerp ongeldig zullen merken.

Samenvatting: Werkelijk, zelfs als het vraagplan op dit ogenblik in proceduregeheim voorgeheugen is, en niemand anders het gebruikt, betekent niet u (absoluut) het kunt gebruiken.

O.k., zo misschien die eerste uitvoering van de dag, om welk reden ook, recompile van een vraagplan veroorzaakt. Zou dat werkelijk zulk een verschil in verband met verhoging 3m <10s to="">maken? Ja, kon het totaal, als SQL in de procedure ingewikkeld is. Als er zijn treed tussen 20 lijsten toe ik de optimalisering zou verwachten dat nog langer duurt. U zegt welke niet versie van ASE u gebruikt - in ASE 15+ zijn er servergrenzen op hoe lang iets in optimalisering precies zal besteden proberen om dit soort kwestie te vermijden. Ik veronderstel u een vroegere versie in werking stelt, waarbij de optimalisering neemt zolang het neemt en er geen manieren zijn om het vroeg te stoppen zodra begonnen.

Samenvatting: 10 seconden die uit aan 180 seconden blazen is niet noodzakelijk extreem dat, als er procedure het recompile gebeuren zijn.


Nu, is het echte probleem hier dat de meeste manieren wij moeten bepalen als om het even welke bovengenoemd zou kunnen gebeuren over het algemeen vereist sa_role. Als u momenteel niet hebt dat voorrecht er niet veel gaan zijn kunt u doen dit onderzoeken. Ik zal zeggen er vele dingen zijn die wij zou willen om alvorens bekijken het redelijk was om met verdachte abstracte vraagplannen te beginnen was een factor.

Om uw specifieke vraag te beantwoorden, zijn er inderdaad sommige sp_configureparameters die voor sommige van deze mogelijke oorzaken relevant zouden kunnen zijn, maar zonder sa_role zult u niet de diagnostiek aan controle kunnen in werking stellen, en u zult niet hen kunnen hoe dan ook veranderen.

Me u een nieuwe vraag stellen - laat is het van belang aan iedereen als de eerste uitvoering van deze procedure in een dag 3 minuten vergt?
Andere oplossingen  
 
programming4us programming4us