Array
(
)

query gerando sobrecarga de CPU no servidor

Victor Pavia
   - 09 fev 2013

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

Cesar Roniglei
   - 22 fev 2013

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