query gerando sobrecarga de CPU no servidor
09/02/2013
0
Pessoal,
Tenho uma query que quando disparo ocupa 100% de CPU no meu servidor. Alguém teria alguma idéia (se tiver jeito )para otimizar essa consulta: (no caso jogo o resultado em uma tabela para exportar para o excel. Não sei se isso tem influência)
drop table saidas
select distinct tm.codfilial,tm.NUMEROMOV,tm.DATAEMISSAO,tm.CODTMV,tp.CODIGOREDUZIDO,
tp.DESCRICAO,tp.NUMEROCCF
,ttm.QUANTIDADE * ttm.PRECOUNITARIO as vtotalvendaitem,tpf.SITTRIBUTARIAPIS,
tpf.SITTRIBUTARIACOFINS
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''pis'') as basePIS
,(select valor from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''pis'') as valorPis
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''cofins'') as baseCofins
,(select VALOR from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''cofins'') as valorCofins
,d.CODNAT,d.DESCRICAOCOMPLETA
into saidas
from TMOV tm
inner join TITMMOV ttm on (ttm.IDMOV = tm.IDMOV)
inner join TPRD tp on (tp.IDPRD = ttm.IDPRD)
inner join TPRDFISCAL tpf on (tpf.IDPRD = tp.idprd)
inner join DNATUREZA d on (d.IDNAT = ttm.IDNAT)
left join TTRBMOV ttb on (ttb.IDMOV = ttm.IDMOV and ttb.NSEQITMMOV = ttm.NSEQITMMOV)
where
tm.DATAEMISSAO >= ''01/02/2013''
and tm.DATAEMISSAO <= ''07/02/2013''
and tm.STATUS <> ''C'' and CODTMV like ''2.2.%''
order by tm.dataemissao,tm.NUMEROMOV
Tenho uma query que quando disparo ocupa 100% de CPU no meu servidor. Alguém teria alguma idéia (se tiver jeito )para otimizar essa consulta: (no caso jogo o resultado em uma tabela para exportar para o excel. Não sei se isso tem influência)
drop table saidas
select distinct tm.codfilial,tm.NUMEROMOV,tm.DATAEMISSAO,tm.CODTMV,tp.CODIGOREDUZIDO,
tp.DESCRICAO,tp.NUMEROCCF
,ttm.QUANTIDADE * ttm.PRECOUNITARIO as vtotalvendaitem,tpf.SITTRIBUTARIAPIS,
tpf.SITTRIBUTARIACOFINS
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''pis'') as basePIS
,(select valor from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''pis'') as valorPis
,(select BASEDECALCULO from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''cofins'') as baseCofins
,(select VALOR from TTRBMOV where IDMOV = ttm.IDMOV and NSEQITMMOV =
ttm.NSEQITMMOV and CODTRB = ''cofins'') as valorCofins
,d.CODNAT,d.DESCRICAOCOMPLETA
into saidas
from TMOV tm
inner join TITMMOV ttm on (ttm.IDMOV = tm.IDMOV)
inner join TPRD tp on (tp.IDPRD = ttm.IDPRD)
inner join TPRDFISCAL tpf on (tpf.IDPRD = tp.idprd)
inner join DNATUREZA d on (d.IDNAT = ttm.IDNAT)
left join TTRBMOV ttb on (ttb.IDMOV = ttm.IDMOV and ttb.NSEQITMMOV = ttm.NSEQITMMOV)
where
tm.DATAEMISSAO >= ''01/02/2013''
and tm.DATAEMISSAO <= ''07/02/2013''
and tm.STATUS <> ''C'' and CODTMV like ''2.2.%''
order by tm.dataemissao,tm.NUMEROMOV
Victor Pavia
Curtir tópico
+ 0
Responder
Posts
22/02/2013
Cesar Roniglei
Posso te dar um help sim.
Cadastra meu msn: cesaronig@hotmail.com
Cadastra meu msn: cesaronig@hotmail.com
Responder
Clique aqui para fazer login e interagir na Comunidade :)