Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Bruno Novo
Eduardo,
Troca o DISTINCT por o GROUP BY.

Abraço

-Original Message-

From: Eduardo Rodrigues
Sent: 15 Feb 2013 18:07:59 GMT
To: oracle_br@yahoogrupos.com.br
Subject: 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
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  > 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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Fabricio Pedroso Jorge
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.  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
> > > raf

Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico angelo
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 

> **
>
>
> 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@yahoo

Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Rafael Mendonca
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 
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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Eduardo Rodrigues
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
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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Rafael Mendonca
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 
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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Eduardo Rodrigues
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
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  > 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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Eduardo Rodrigues
Rafael tenta usar o with para consulta da tabela produto_loja.

*Att.*
*Eduardo Rodrigues*


Em 15 de fevereiro de 2013 14:54, Rafael Mendonca
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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Rafael Mendonca
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 
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]



Re: [oracle_br] SQL Tunning

2013-02-15 Por tôpico Rodrigo Mufalani
   Existe algum indice na tabela produto_loja para as colunas usadas? Comece 
por ai!!!


Enviado por Samsung Mobile

 Mensagem original 
De : Rafael Mendonca  
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]