Aumentar performance de stored procedure

27/08/2003

0

declare variable p_codigo_classe numeric(3);
begin
for select p.nome, p.codigo_classe, l.nome, p.un, sum(i.qtd), sum(i.valor) from item_venda i, venda v, produto p, cliente c, classe l, operador o
where codigo_produto=p.codigo and p.codigo_classe = l.codigo and codigo_venda=v.codigo and v.cnpj_cliente=c.cnpj and v.codigo_operador = o.codigo and data between :data1 and :data2 and o.nome like :op and c.cnpj like :cnpj
group by p.nome, p.codigo_classe, l.nome, p.un
into :nome, :p_codigo_classe, :classe, :un, :soma1, :soma2 do
begin
select (:soma1 / sum(qtd) * 100) from item_venda, venda v, produto p, cliente c, operador o
where codigo_produto=p.codigo and codigo_venda=v.codigo and v.cnpj_cliente=c.cnpj and codigo_operador = o.codigo and data between :data1 and :data2 and o.nome like :op and c.cnpj like :cnpj and p.codigo_classe = :p_codigo_classe
into :porcentagem;
suspend;
end
end

está stored procedure faz o seguinte primeiro ela agrupa todos items vendidos por produto e para cada grupo depois se faz o somatorio total dos items vendidos da classe a que esse produto pertence! ou seja quanto em porcentagem aquele produto vendeu dentro da classe a que ele pertence!

bem alguém tem alguma ideia de como eu possa otimizar essa procedure para que execute mais rapidamente?


Maxwell_monteiro

Maxwell_monteiro

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar