Re: [oracle_br] SQL Tunning
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
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
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
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
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
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
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
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
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
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]