Cara qual a versão do seu banco???? 

----- Mensagem original ----
De: fabiopdb <[EMAIL PROTECTED]>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quinta-feira, 30 de Agosto de 2007 11:56:44
Assunto: [oracle_br] Tuning SQL

Amigos estou com um problema nessa consulta será alguem (iluminado)
pode me ajudar pois esta consulta esta demorando 7hs !!!! 
Se alguem tiver alguma ideia eu agradeço muito.

CREATE OR REPLACE VIEW VENDAS_INDIRETAS AS
SELECT /*+rule*/ cod_classe_extra,
ds_classe_extra,
cod_extra,
desc_ex,
COUNT(qtd_servico) qtd_servico,
SUM(VALOR) VALOR,
REFERENCIA,
GRUPO_INDIRETAS

FROM (
--Venda de Serviços Financiados
SELECT /*+rule*/tcex. COD_CLASSE_ EXTRA,
tcex.DS_CLASSE_ EXTRA,
tex.COD_EXTRA,
tex.DESC_EX,
COUNT(vpc.ident_ parc) qtd_servico,
SUM(vpc.TOTALDIV) VALOR,
to_date('01' || '/' || TO_CHAR(vpc. dt_parcelamento,
'mm/yyyy'), 'dd/mm/yyyy' ) REFERENCIA,

(case
when tcex.cod_classe_ extra in (1,2,3,8,9,10, 14) then
'AGUA'
when tcex.cod_classe_ extra in (4,5) then
'ESGOTO'
end) GRUPO_INDIRETAS

FROM TAB_EXTRA tex, VEW_DS_PARCELAMENTO vpc,
TAB_CLASSE_EXTRA tcex
WHERE tex.COD_EXTRA = vpc.COD_EXTRA
AND tex.COD_CLASSE_ EXTRA = tcex.COD_CLASSE_ EXTRA
AND vpc.DT_CANCELADO IS NULL
AND vpc.cod_tipo_ parc = 2
GROUP BY tcex.COD_CLASSE_ EXTRA,
tcex.DS_CLASSE_ EXTRA,
tex.COD_EXTRA,
tex.DESC_EX,
vpc.dt_parcelamento

UNION

--Venda de Serviços - NFA pagamento a vista
select /*+rule*/tc. cod_classe_ extra,
tc.ds_classe_ extra,
v.cod_extra,
te.desc_ex,
count(v.ident_ extra) qtd_servico,
sum(v.valor) VALOR,
-- to_char(v.data_ ref, 'dd/mm/yyyy' ) REFERENCIA,
v.data_ref REFERENCIA,

(case
when tc.cod_classe_ extra in (1,2,3,8,9,10, 14) then
'AGUA'
when tc.cod_classe_ extra in (4,5) then
'ESGOTO'
end) GRUPO_INDIRETAS

from vew_ds_faturamento_ detalhado v,
tab_extra te,
tab_classe_extra tc
where te.cod_extra = v.cod_extra
and tc.cod_classe_ extra = te.cod_classe_ extra(+)
and v.in_original = 1
and v.ident_conta is not null
and v.cod_tipo_nf = 2
group by tc.cod_classe_ extra,
tc.ds_classe_ extra,
v.cod_extra,
te.desc_ex,
v.data_ref)

WHERE cod_classe_extra not in (6, 7, 11, 12, 13, 15, 16, 17, 19, 20)
GROUP BY cod_classe_extra, ds_classe_extra, cod_extra,
desc_ex,REFERENCIA, GRUPO_INDIRETAS
ORDER BY DS_CLASSE_EXTRA, DESC_EX





      Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/

[As partes desta mensagem que não continham texto foram removidas]

Responder a