Pergunta : parâmetros do sp_configure e do usuário

Olá! ppl,

eu estou chamando o procedimento armazenado de DBArtisan pela primeira vez que toma mais de 3 minutos para executar e menos de 10 segundos para execuções subseqüentes. Pela primeira vez o procedimento diário toma mais o

I de de 3 minutos… gostaria ao know
1. Como vindo pela primeira vez lhe tomou mais de 3 minutos para executar? e a planta da pergunta não é armazenada no
2. do usuário…. Que configuração que de usuário eu tenho que mudar e como devem mim fazer aquela?
3. É este algum onde relativo aos parâmetros do sp_configure? (isto é a descarga abstrata da planta, carga abstrata da planta, planta abstrata substitui ou abstrai o esconderijo da planta) o
4. quando eu tento mudar os parâmetros isto é funciona o
sp_configure “descarga abstrata da planta”, 1 mensagem de erro retuned/>It do

5. Faço eu preciso de seguir a planta do on
go
set do groupname da carga da planta do on
go
set do groupname da descarga da planta do groupname
go
set do
sp_drop_gpgroup da etapa… substituo o on
go


I encontrei que ap_stdin dos retornos do that

sp_help_qpgroup, ap_stdout e lá não é nenhum outro retorno do ap_stdin de group.
sp_help_qpgroup nenhum ap_stdout de rows.
sp_help_qpgroup, contagens não retornou nenhum rows.
class= do

Resposta : parâmetros do sp_configure e do usuário

Eu penso que você não está começ antes do senhor mesmo em supr isto é qualquer coisa relativo às plantas abstratas da pergunta, lá é nenhuma razão (contudo) os pensar mesmo está implicado.

Sybase compila procedimentos (e todos os objetos do código) em plantas da pergunta no esconderijo do procedimento. Isto é apenas como o esconderijo dos dados, que é uma corrente Least-Recently-Used Mais-Recente-Usada. As páginas velhas começ eventualmente envelhecidas fora do esconderijo se outras coisas precisam de ser carregadas nele. Assim totalmente pôde-se ser que durante a noite outro que processa está envelhecendo as plantas da pergunta fora do esconderijo do procedimento e a primeira execução do dia o recarrega.

Sumário: Apenas porque estava no esconderijo do procedimento uma vez não significa que ainda estará lá agora.

O esconderijo do procedimento de Sybase não é reentrante. Isto significa que uma única planta da pergunta não pode ser compartilhada entre processos. Se dois processos funcionam o mesmo procedimento, cada um começ sua própria planta da pergunta no esconderijo. Se há somente um atualmente no esconderijo (e nele está sendo usado), um novo tem que ser compilado e carregado.

Sumário: Apenas porque está no esconderijo do procedimento agora não significa que você pode o usar.

Mesmo se há uma planta (não utilizada) de reposição da pergunta no esconderijo do procedimento, você não pôde usá-lo de qualquer maneira. Se o procedimento foi criado com “com recompile” a opção, ele recompiled cada vez que é executada. Ou pôde ter sido executada com “com recompile” que terá o mesmo efeito. Ou alguém pôde ter funcionado “sp_recompile” em uma tabela que o procedimento usasse (geralmente após algum formulário da “do comando das estatísticas atualização”), que terá o mesmo efeito. Ou mesmo sem as algumas daquelas causas, há outras causas possíveis para exigir um recompile de uma planta da pergunta, como os descritores de exaustão do esconderijo dos metadata, que marcarão todas as plantas da pergunta para um objeto como inválido.

Sumário: Realmente, mesmo se a planta da pergunta está no esconderijo do procedimento agora, e mais ninguém está usando-o, não significa que você pode (definitivamente) o usar.

Aprovação, tão talvez que primeira execução do dia, para o que razão, está causando um recompile de uma planta da pergunta. Isso faria realmente tal diferença a respeito do aumento <10s to="">3m? Sim, poderia totalmente, se o SQL no procedimento é complicado. Se há uma junta entre 20 tabelas eu esperaria a optimização tomar mesmo mais por muito tempo. Você não diz que versão de ASE você está usando - em ASE 15+ há uns limites do usuário em quanto tempo algo gastará na optimização precisamente para tentar evitar este tipo da edição. Eu estou supor que você está uma versão anterior, neste caso a optimização tomado contanto que tomar e não houver nenhuma maneira da parar cedo começada uma vez.

Sumário: 10 segundos que fundem para fora a 180 segundos não são necessariamente esse extremo, se há um procedimento recompile o acontecimento.


Agora, o verdadeiro problema aqui é que a maioria das maneiras que nós temos que determinar eventualmente do poder acima estejam acontecendo exigem geralmente o sa_role. Se você não tem atualmente que o privilégio lá não está indo ser muito você pode fazer para investigar este. Eu disse que há muitas coisas que nós quereríamos olhar antes que estêve razoável começar as plantas abstratas suspeitas da pergunta fosse um fator.

Para responder a sua pergunta específica, há certamente alguns parâmetros do sp_configure que poderiam ser relevantes a algumas destas causas possíveis, mas sem sa_role você não poderá funcionar os diagnósticos à verificação, e você não poderá mudá-los de qualquer maneira.

Deixar-me fazer-lhe uma pergunta nova - importa a qualquer um se a primeira execução deste procedimento em um dia toma 3 minutos?
Outras soluções  
 
programming4us programming4us