query gerando sobrecarga de CPU no servidor

09/02/2013

1

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





Responder

Posts

22/02/2013

Cesar Roniglei

Posso te dar um help sim.
Cadastra meu msn: cesaronig@hotmail.com
Responder