Cria uma view materializada com a opção query rewrite, caso esses dados não
sejam atualizados com frequência. Ai podes fazer o refresh uma vez por dia
(ou talvez o refresh on commit). Com a view, essa query vai executar
instantaneamente.

Em 15 de fevereiro de 2013 17:23, Vitor Jr. <vitorj...@gmail.com> escreveu:

> **
>
>
> Concordo... especialmente pra tuning, onde envolva view, depois tem que
> ficar analisando o código de cada uma pra ver onde tá a PORRA do gargalo...
> isso é preguiça criar esse monte de views... rsrsrsrsrs
>
> -----Mensagem original-----
> De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> nome de angelo
> Enviada em: sexta-feira, 15 de fevereiro de 2013 17:22
> Para: oracle_br@yahoogrupos.com.br
>
> Assunto: Re: [oracle_br] SQL Tunning
>
> que bom que resolveu, mas você faz Join com uma view.
>
> Essa view (me refiro ao codigo fonte dela) ao executar a query para
> criá-la, também faz join com mais alguém, ou acessa outra view dentro dela?
> De inicio, minha pergunta pode parecer hilária, cretina ou sem lógica, mas
> é um absurdo que algumas pessoas cometem e ainda acham que tá fazendo
> certo... sem querer se cria uma cadeia de views... Já vi isso acontecer
> varias vezes... e em determinados momentos ficar muito pesado e a galera
> depois fica batendo cabeça.... Uma view que acessa outra view para criar a
> propria view...alegando que não dá pra fazer diferente... bem como nessas
> views ainda tem Unions, Unions all... fica uma "cangalha de balão" enorme
> no
> final...
>
> Até que ponto isso é saudável, pergunto eu?
>
> 2013/2/15 Rafael Mendonca raffaell.t...@yahoo.com>
>
> > **
> >
> >
> > Pessoal, consegui encontrar o problema. Na view "vw_produtos_tabela" a
> > coluna cod_prod está como NUMBER, enquanto as outras está como
> > VARCHAR2, na hora do JOIN ele faz uma conversao implicita dificultando
> > o desempenho da query, mudei para varchar2 e agora está muito rápido,
> > obrigado a todos que colaboraram.
> >
> >
> > ________________________________
> > De: Eduardo Rodrigues oraedua...@gmail.com>
> > Para: oracle_br@yahoogrupos.com.br
> > Enviadas: Sexta-feira, 15 de Fevereiro de 2013 16:42
> >
> > Assunto: Re: [oracle_br] SQL Tunning
> >
> >
> >
> > Rafael me desculpe pela sintaxe, não consegui testar, mas acredito que
> > faltou "as" após a tabela, fica assim:
> >
> > WITH produto_loja as
> >
> > Veja se consegue mudar sua query para retirar o distinct, ele não é
> > performático.
> >
> > *Att.*
> > *Eduardo Rodrigues*
> >
> > Em 15 de fevereiro de 2013 15:30, Rafael Mendonca
> > raffaell.t...@yahoo.com>escreveu:
> >
> > > **
> > >
> > >
> > > Eduardo, obrigado pela ajuda, como nao tenho experiencia com WITH
> > > queria saber como devo proceder, deu esse erro aqui:
> > >
> > > ORA-32039: A cláusula WITH recursiva deve ter a lista de apelidos de
> > coluna
> > >
> > > ________________________________
> > > De: Eduardo Rodrigues oraedua...@gmail.com>
> > > Para: oracle_br@yahoogrupos.com.br
> > > Enviadas: Sexta-feira, 15 de Fevereiro de 2013 16:07
> > >
> > > Assunto: Re: [oracle_br] SQL Tunning
> > >
> > >
> > >
> > > Mais ou menos assim:
> > >
> > > WITH produto_loja
> > > (SELECT MIN(pl.val_preco_venda) AS precomin_prod_sem_tabela,
> > > MAX(pl.val_preco_venda) AS precomax_prod_sem_tabela FROM
> > > produto_loja pl) SELECT DISTINCT me.cod_prod codigo_produto,
> > > vw.codigo_planilha, vw.percentual_desconto, vw.valor_desconto,
> > > vw.ind_acesso, vw.descricao_completa, vw.preco_min, vw.preco_max,
> > > me.codigo_automacao, pl.precomin_prod_sem_tabela,
> > > pl.precomax_prod_sem_tabela FROM multipla_embl me LEFT OUTER JOIN
> > > vw_produtos_tabela vw ON (vw.codigo_produto = me.cod_prod) LEFT
> > > OUTER JOIN produto_loja pl ON pl.cod_prod = me.cod_prod WHERE
> > > me.cod_prod = :1 ORDER BY me.cod_prod, me.codigo_automacao;
> > >
> > > *Att.*
> > > *Eduardo Rodrigues*
> > >
> > >
> > > Em 15 de fevereiro de 2013 15:01, Eduardo Rodrigues
> > > oraedua...@gmail.com>escreveu:
> > >
> > > > Rafael tenta usar o with para consulta da tabela produto_loja.
> > > >
> > > > *Att.*
> > > > *Eduardo Rodrigues*
> > >
> > > >
> > > >
> > > > Em 15 de fevereiro de 2013 14:54, Rafael Mendonca
> > > raffaell.t...@yahoo.com
> > > > > escreveu:
> > > >
> > > > **
> > >
> > > >>
> > > >>
> > > >> Milton, mas existe uma cláusula where fazendo o JOIN.
> > > >>
> > > >> Rodrigo, existe sim.
> > > >>
> > > >> A coluna cod_prod tanto na tabela "PRODUTO_LOJA" como na tabela
> > > >> "multipla_embl" são indexadas
> > > >>
> > > >> ________________________________
> > > >> De: Rodrigo Mufalani rodr...@mufalani.com.br>
> > > >> Para: oracle_br@yahoogrupos.com.br
> > > >> Enviadas: Sexta-feira, 15 de Fevereiro de 2013 15:49
> > > >> Assunto: Re: [oracle_br] SQL Tunning
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> Existe algum indice na tabela produto_loja para as colunas usadas?
> > > >> Comece por ai!!!
> > > >>
> > > >> Enviado por Samsung Mobile
> > > >>
> > > >> -------- Mensagem original -------- De : Rafael Mendonca
> > > >> raffaell.t...@yahoo.com>
> > > >> Data:
> > > >> Para: oracle_br@yahoogrupos.com.br
> > > >> Assunto: [oracle_br] SQL Tunning
> > > >>
> > > >> Pessoal, boa tarde.
> > > >> Estou com um problema de desempenho no sql abaixo:
> > > >>
> > > >> http://nopaste.dk/p20777
> > > >>
> > > >> Segue o plano de execução:
> > > >>
> > > >> http://nopaste.dk/p20779
> > > >>
> > > >> Existe algo nessa query que eu possa modificar para evitar o
> > > >> TABLE
> > > ACCESS
> > > >> FULL?
> > > >>
> > > >> [As partes desta mensagem que não continham texto foram
> > > >> removidas]
> > > >>
> > > >> [As partes desta mensagem que não continham texto foram
> > > >> removidas]
> > > >>
> > > >> [As partes desta mensagem que não continham texto foram
> > > >> removidas]
> > > >>
> > > >>
> > > >>
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> ----------------------------------------------------------
> ----------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira
> responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> ----------------------------------------------------------
> ----------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
> >ESPAÇO! VISITE: http://www.oraclebr.com.br/
> ----------------------------------------------------------
> -------------------------------------------- Links do Yahoo! Grupos
>
>  
>



-- 
***Fabrício Pedroso Jorge.*

Administrador de Banco de Dados
Oracle 11g Certified SQL Expert
Oracle 11g Certified Associate
Oracle 11g Certified Professional
Linux Professional Institute Certified Level I (LPIC-I)
certificacaodb.com.br

*Resumo Profissional:*
http://br.linkedin.com/in/fabriciojorge

*Contatos:*
+ 55 91 88991116 /
+ 55 11 82223651
fpjb...@gmail.com


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



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a