Frage : sp_configure und Bedienerparameter

Hallo ppl,

benenne ich gespeichertes Verfahren von DBArtisan, zum ersten Mal, das es mehr als 3 Minuten dauert, um durchzuführen und weniger als 10 Sekunden für folgende Durchführungen. Tägliches zum ersten Mal Verfahren nimmt mehr, als 3 Minuten… ein

I zum know
1. möchte, wie kommt es zum ersten Mal es mehr als nahm, 3 durchzuführen Minuten? und Fragenplan wird nicht auf dem Bediener…
2. gespeichert. Welche Bedienerkonfiguration, die ich ändern muss und wie, sollten ich die tun?
3. Ist dieses einiges, wo bezogen auf Parametern von sp_configure? (d.h. ersetzen abstraktes Plandump, abstrakte Planlast, abstrakter Plan oder entziehen Planpufferspeicher), lassen
4., wenn ich versuche, die Parameter d.h. zu ändern,
sp_configure „abstraktes Plandump“, 1
It retuned Fehlermeldung laufen, die sagt, dass ich nicht sa_role Erlaubnis habe, dieses durchzuführen…

5. Tue ich muss dem Schritt…
sp_drop_gpgroup groupname
go
set Plandump groupname on
go
set Planlast groupname on
go
set Plan folgen ersetze on
go


I fand, dass that

sp_help_qpgroup Rückkehr ap_stdin, ap_stdout und dort keine andere group.
sp_help_qpgroup ap_stdin Rückkehr kein rows.
sp_help_qpgroup ap_stdout, Zählimpulse zurückbrachte kein rows.
sind

Antwort : sp_configure und Bedienerparameter

Ich denke, dass Sie vor selbst erhalten, wenn Sie dieses annehmen, sind alles, das auf abstrakten Fragenplänen bezogen wird, dort sind kein Grund (dennoch) sie sogar zu denken werden impliziert.

Sybase kompiliert Verfahren (und alle Codegegenstände) in Fragenpläne im Verfahrenspufferspeicher. Dieses ist gerade wie Datenpufferspeicher, dadurch, dass es eine Am meisten-Neu-Verwendete am wenigsten gebrauchte Kette ist. Alte Seiten erhalten schließlich aus Pufferspeicher heraus gealtert, wenn andere Sachen in ihn geladen werden müssen. So konnte es total sein, dass über Nacht verarbeitendes anderes die Fragenpläne aus Verfahrenspufferspeicher heraus altert und die erste Durchführung des Tages ihn neu lädt.

Zusammenfassung: Gerade weil sie im Verfahrenspufferspeicher einmal bedeutet nicht war, dass es noch dort im Augenblick ist.

Sybase Verfahrenspufferspeicher ist nicht einspringend. Dies heißt, dass ein einzelner Fragenplan nicht zwischen Prozessen geteilt werden kann. Wenn zwei Prozesse das gleiche Verfahren laufen lassen, erhält jeder ihren eigenen Fragenplan im Pufferspeicher. Wenn es nur eins z.Z. im Pufferspeicher (und in ihm wird verwendet), gibt, muss ein Neues kompiliert werden und geladen werden.

Zusammenfassung: Gerade weil sie im Verfahrenspufferspeicher im Augenblick bedeutet nicht ist, dass Sie ihn benutzen können.

Selbst wenn es einen Ersatz (unbenutzten) Fragenplan im Verfahrenspufferspeicher gibt, konnten Sie ihn nicht irgendwie benutzen. Wenn das Verfahren mit „mit verursacht wurde, recompile“ Wahl, es recompiled, jedes Mal wenn sie durchgeführt wird. Oder sie konnte mit „mit durchgeführt worden sein recompile“, die den gleichen Effekt hat. Oder jemand konnte „sp_recompile“ auf einer Tabelle laufen gelassen haben, die das Verfahren (allgemein nach irgendeiner Form „des Updatestatistik“ Befehls) benutzt, das den gleichen Effekt hat. Oder sogar ohne irgendwelche jener Ursachen, gibt es andere mögliche Ursachen für das Erfordern eines Recompile eines Fragenplanes, wie erschöpfende Metadatenpufferspeicherbeschreiber, die alle Fragenpläne für einen Gegenstand markieren, wie unzulässig.

Zusammenfassung: Wirklich selbst wenn der Fragenplan im Verfahrenspufferspeicher im Augenblick ist, und niemand anders benutzt ihn, bedeutet nicht, dass Sie (definitiv) ihn benutzen können.

O.K., so möglicherweise, dass erste Durchführung des Tages aus welchem Grund auch immer einen Recompile eines Fragenplanes verursacht. Würde das wirklich solch ein hinsichtlich Zunahme 3m <10s to="">unterscheiden? Ja könnte es total, wenn der SQL im Verfahren schwierig ist. Wenn es eine Verbindung zwischen 20 Tabellen gibt, würde ich Optimierung erwarten, um sogar länger zu dauern. Sie sagen nicht, welche Version von ASE Sie verwenden - in ASE 15+ gibt es Bedienerbegrenzungen auf, wie lang etwas in der Optimierung genau aufwendet, um zu versuchen, diese Art der Ausgabe zu vermeiden. Ich schätze, dass Sie eine frühere Version laufen lassen, in diesem Fall Optimierung nimmt, solange sie nimmt und es keine Weisen des Einstellens sie früh einmal angefangen gibt.

Zusammenfassung: 10 Sekunden, die heraus zu 180 Sekunden durchbrennen, ist nicht notwendigerweise dieses Extrem, wenn es ein Verfahren recompile das Vorkommnis gibt.


Jetzt ist das reale Problem hier, dass die meisten Weisen, die wir wenn überhaupt von der oben genannten Macht feststellen müssen, erfordern im Allgemeinen sa_role geschehen. Wenn Sie nicht z.Z. haben, dass Privileg dort nicht sein wird viel, können Sie tun, um dieses nachzuforschen. Ich sage, dass es viele Sachen gibt, die wir würden betrachten wollen, bevor es angemessen war, vermutlich defekte abstrakte Fragenpläne anzufangen war ein Faktor.

Um Ihre spezifische Frage zu beantworten, gibt es in der Tat einige sp_configure Parameter die zu einigen dieser möglichen Ursachen relevant sein konnten, aber ohne sa_role sind Sie nicht die Diagnosen zur Überprüfung laufen zu lassen, und Sie sind nicht sie irgendwie zu ändern.

Mich Ihnen eine neue Frage stellen lassen - macht sie zu jemand aus, wenn die erste Durchführung dieses Verfahrens an einem Tag 3 Minuten nimmt?
Weitere Lösungen  
 
programming4us programming4us