Pois é, Vítor : quem nos garante que o gargalo REAL não está nos SQLs, nos 
JOINS, lá da VIEW  ?? de repente a gente fica caçando cabelo em pelo de ovo 
aqui no SQL principal, e a lentidão tá lá no SQL "escondido" da view... Só 
mesmo quem tá com o problema em mãos, conhece o ambiente, pode COMPROVAR ou 
NEGAR isso...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rafael Mendonca <raffaell.ti77@...> 
escreveu
>
> Angelo, na view se faz JOIN com outras tabelas sim, mas não contra outras 
> views. valeu ai galera.
> 
> 
> ________________________________
>  De: Vitor Jr. <vitorjr81@...>
> Para: oracle_br@yahoogrupos.com.br 
> Enviadas: Sexta-feira, 15 de Fevereiro de 2013 17:23
> Assunto: RES: [oracle_br] SQL Tunning
>  
> 
>   
> 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.ti77@...>
> 
> > **
> >
> >
> > 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 oraeduardo@...>
> > 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.ti77@...>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 oraeduardo@...>
> > > 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
> > > oraeduardo@...>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.ti77@...
> > > > > 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 rodrigo@...>
> > > >> 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.ti77@...>
> > > >> 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
> 
> 
>  
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a