Re: RES: [oracle_br] Uso do indice

2005-11-11 Por tôpico Renan Medeiros
No primeiro plano, vc acessa via indice porque a unica coluna recuperada é
da tabela executor.
No segundo , é acesso full para recuperar as duas colunas.
Lembre-se que não existe restrição para a c.id_cod_postal.



> Aí está os planos de execução.
>
>  select e.id_executor
>  from cod_postal c
>,executor e
>where c.id_cod_postal = e.codigo_postal
>  Query Plan
>  
> 
>  SELECT STATEMENT[CHOOSE] Cost=97 Rows=2291 Bytes=27492
>NESTED LOOPS
>  TABLE ACCESS FULL EXECUTOR  [ANALYZED]
>  INDEX UNIQUE SCAN COD_POSTAL_PK  [ANALYZED]
>
>
>  select e.id_executor, c.localidade
>from cod_postal c
>,executor e
>where c.id_cod_postal = e.codigo_postal
>  Query Plan
>  
> 
>  SELECT STATEMENT[CHOOSE] Cost=235 Rows=2291 Bytes=54984
>HASH JOIN
>  TABLE ACCESS FULL EXECUTOR  [ANALYZED]
>  TABLE ACCESS FULL COD_POSTAL  [ANALYZED]
>
>  Renan Medeiros  escreveu:Pq vc nao coloca os planos de execução de cada
> comando aqui no email ?
>  Ficará mais fácil de se analisar/entender a situação.
>
>
>
>
>  > Oi Alex!
>  >
>  >  Ainda estou confusa! Quando eu retorno no select somente colunas da
>  > tabela executor, o indice da tabela codigo postal é utilizado. Tudo bem
>  > que a tabela executor é pequena e nesta ele faz full mesmo, mas a de
>  > código postal é gigante e o custo vai lá no céu!
>  >
>  >  Assim usa o indice da codigo_postal:
>  >  select e.id_executor
>  >  from cod_postal c
>  >  ,executor e
>  >  where c.id_cod_postal = e.codigo_postal
>  >
>  >
>  >
>  >  mas assim não:
>  >
>  >  select e.id_executor, c.localidade
>  >  from cod_postal c
>  >  ,executor e
>  >  where c.id_cod_postal = e.codigo_postal
>  >
>  >  Obrigada pela resposta
>  >  Elis
>  >
>  >  "Alex Fernando Kirsten (CESUP)"  escreveu:
>  > Oi
>  >
>  > Existe uma explicação lógica sim. Uma de suas tabelas deve ser
> muito
>  >  pequena e o Oracle não esta utilizando índice pq a quantidade de
>  > registros
>  >  recuperados é alta em relação a quantidade de registros da tabela. Vc
>  > pode
>  >  forçar a utilização do índice com o uso de um hint na sua consulta,
> mas
>  >  provavelmente não iria adiantar muito.
>  >
>  > Outro motivo possível é que seu índice está desabilitado.
>  >
>  > []’s
>  >
>  >
>  >
>  >  Alex Fernando Kirsten
>  >
>  >  Oracle 9i Database Administrator Certified Professional
>  >
>  >  Cetil Sistemas
>  >
>  >  Email: [EMAIL PROTECTED]
>  >
>  >
>  >
>  >_
>  >
>  >  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> Em
>  >  nome de Elis Azevedo Nery
>  >  Enviada em: sexta-feira, 11 de novembro de 2005 07:29
>  >  Para: oracle_br@yahoogrupos.com.br
>  >  Assunto: [oracle_br] Uso do indice
>  >
>  >
>  >
>  >  Olá!
>  >
>  >  Tenho este select simples com join de duas tabelas:
>  >
>  >
>  >  select e.id_executor, c.localidade
>  >  from cod_postal c
>  >  ,executor e
>  >  where c.id_cod_postal = e.codigo_postal
>  >
>  >
>  >  Se eu coloco no select colunas da tabela cod_postal, não utiliza o
> indice
>  >  existente nesta tabela e acaba por fazer full. Alguém tem uma
> explicação
>  >  lógica para isto?
>  >  Já analisei as tabelas e os indices.
>  >
>  >  Obrigada
>  >  Elis Nery
>  >
>  >
>  >  -
>  >  Yahoo! Acesso Grátis: Internet rápida e grátis.
>  >  Instale o discador agora!
>  >
>  >  [As partes desta mensagem que não continham texto foram removidas]
>  >
>  >
>  >
>  >  
> 
>  >  --
>  >  Atenção! As mensagens deste grupo são de acesso público e de inteira
>  >  responsabilidade de seus remetentes.
>  >  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>  >  
> 
>  >  
> --__
>  >  ___
>  >  Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
>  >
>  >
>  >
>  >
>  >
>  >  Yahoo! Grupos, um serviço oferecido por:
>  >
>  >
>  >
>  >  PUBLICIDADE
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  >_
>  >
>  >  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:
>  >  [EMAIL PROTECTED]
>  >
>  >
>  >  *  O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>  >  Serviço do   Yahoo!.
>  >
>  >
>  >
>  >  [As partes desta mensagem que não continham texto foram removidas]
>  >
>  >
>  >
>  >  
> --

Re: RES: [oracle_br] Uso do indice

2005-11-11 Por tôpico Elis Azevedo Nery
Aí está os planos de execução.
 
select e.id_executor
from cod_postal c
  ,executor e
  where c.id_cod_postal = e.codigo_postal 
Query Plan

SELECT STATEMENT[CHOOSE] Cost=97 Rows=2291 Bytes=27492
  NESTED LOOPS
TABLE ACCESS FULL EXECUTOR  [ANALYZED]
INDEX UNIQUE SCAN COD_POSTAL_PK  [ANALYZED]
 
 
select e.id_executor, c.localidade
  from cod_postal c
  ,executor e
  where c.id_cod_postal = e.codigo_postal 
Query Plan

SELECT STATEMENT[CHOOSE] Cost=235 Rows=2291 Bytes=54984
  HASH JOIN
TABLE ACCESS FULL EXECUTOR  [ANALYZED]
TABLE ACCESS FULL COD_POSTAL  [ANALYZED]

Renan Medeiros <[EMAIL PROTECTED]> escreveu:Pq vc nao coloca os planos de 
execução de cada comando aqui no email ?
Ficará mais fácil de se analisar/entender a situação.




> Oi Alex!
>
>  Ainda estou confusa! Quando eu retorno no select somente colunas da
> tabela executor, o indice da tabela codigo postal é utilizado. Tudo bem
> que a tabela executor é pequena e nesta ele faz full mesmo, mas a de
> código postal é gigante e o custo vai lá no céu!
>
>  Assim usa o indice da codigo_postal:
>  select e.id_executor
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>
>
>  mas assim não:
>
>  select e.id_executor, c.localidade
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>  Obrigada pela resposta
>  Elis
>
>  "Alex Fernando Kirsten (CESUP)"  escreveu:
> Oi
>
> Existe uma explicação lógica sim. Uma de suas tabelas deve ser muito
>  pequena e o Oracle não esta utilizando índice pq a quantidade de
> registros
>  recuperados é alta em relação a quantidade de registros da tabela. Vc
> pode
>  forçar a utilização do índice com o uso de um hint na sua consulta, mas
>  provavelmente não iria adiantar muito.
>
> Outro motivo possível é que seu índice está desabilitado.
>
> []’s
>
>
>
>  Alex Fernando Kirsten
>
>  Oracle 9i Database Administrator Certified Professional
>
>  Cetil Sistemas
>
>  Email: [EMAIL PROTECTED]
>
>
>
>_
>
>  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
>  nome de Elis Azevedo Nery
>  Enviada em: sexta-feira, 11 de novembro de 2005 07:29
>  Para: oracle_br@yahoogrupos.com.br
>  Assunto: [oracle_br] Uso do indice
>
>
>
>  Olá!
>
>  Tenho este select simples com join de duas tabelas:
>
>
>  select e.id_executor, c.localidade
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>
>  Se eu coloco no select colunas da tabela cod_postal, não utiliza o indice
>  existente nesta tabela e acaba por fazer full. Alguém tem uma explicação
>  lógica para isto?
>  Já analisei as tabelas e os indices.
>
>  Obrigada
>  Elis Nery
>
>
>  -
>  Yahoo! Acesso Grátis: Internet rápida e grátis.
>  Instale o discador agora!
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>  
>  --
>  Atenção! As mensagens deste grupo são de acesso público e de inteira
>  responsabilidade de seus remetentes.
>  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>  
>  --__
>  ___
>  Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
>
>
>
>
>
>  Yahoo! Grupos, um serviço oferecido por:
>
>
>
>  PUBLICIDADE
>
>
>
>
>
>
>
>_
>
>  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:
>  [EMAIL PROTECTED]
>
>
>  *  O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>  Serviço do   Yahoo!.
>
>
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>  
> --
>  Atenção! As mensagens deste grupo são de acesso público e de inteira
> responsabilidade de seus remetentes.
>  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>  
> --_
>  Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
>
>
>  Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE
>  var lrec_target="_blank";var lrec_URL=new
> Array();lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fek55a1/M=380335.7481167.8369105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1131712606/A=3107499/R=0/i

Re: RES: [oracle_br] Uso do indice

2005-11-11 Por tôpico Renan Medeiros
Pq vc nao coloca os planos de execução de cada comando aqui no email ?
Ficará mais fácil de se analisar/entender a situação.




> Oi Alex!
>
>  Ainda estou confusa! Quando eu retorno no select somente colunas da
> tabela executor, o indice da tabela codigo postal é utilizado. Tudo bem
> que a tabela executor é pequena e nesta ele faz full mesmo, mas a de
> código postal é gigante e o custo vai lá no céu!
>
>  Assim usa o indice da codigo_postal:
>  select e.id_executor
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>
>
>  mas assim não:
>
>  select e.id_executor, c.localidade
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>  Obrigada pela resposta
>  Elis
>
>  "Alex Fernando Kirsten (CESUP)"  escreveu:
> Oi
>
> Existe uma explicação lógica sim. Uma de suas tabelas deve ser muito
>  pequena e o Oracle não esta utilizando índice pq a quantidade de
> registros
>  recuperados é alta em relação a quantidade de registros da tabela. Vc
> pode
>  forçar a utilização do índice com o uso de um hint na sua consulta, mas
>  provavelmente não iria adiantar muito.
>
> Outro motivo possível é que seu índice está desabilitado.
>
> []’s
>
>
>
>  Alex Fernando Kirsten
>
>  Oracle 9i Database Administrator Certified Professional
>
>  Cetil Sistemas
>
>  Email: [EMAIL PROTECTED]
>
>
>
>_
>
>  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
>  nome de Elis Azevedo Nery
>  Enviada em: sexta-feira, 11 de novembro de 2005 07:29
>  Para: oracle_br@yahoogrupos.com.br
>  Assunto: [oracle_br] Uso do indice
>
>
>
>  Olá!
>
>  Tenho este select simples com join de duas tabelas:
>
>
>  select e.id_executor, c.localidade
>  from cod_postal c
>  ,executor e
>  where c.id_cod_postal = e.codigo_postal
>
>
>  Se eu coloco no select colunas da tabela cod_postal, não utiliza o indice
>  existente nesta tabela e acaba por fazer full. Alguém tem uma explicação
>  lógica para isto?
>  Já analisei as tabelas e os indices.
>
>  Obrigada
>  Elis Nery
>
>
>  -
>  Yahoo! Acesso Grátis: Internet rápida e grátis.
>  Instale o discador agora!
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>  
>  --
>  Atenção! As mensagens deste grupo são de acesso público e de inteira
>  responsabilidade de seus remetentes.
>  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>  
>  --__
>  ___
>  Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
>
>
>
>
>
>  Yahoo! Grupos, um serviço oferecido por:
>
>
>
>  PUBLICIDADE
>
>
>
>
>
>
>
>_
>
>  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:
>  [EMAIL PROTECTED]
>
>
>  *  O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>  Serviço do   Yahoo!.
>
>
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>  
> --
>  Atenção! As mensagens deste grupo são de acesso público e de inteira
> responsabilidade de seus remetentes.
>  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>  
> --_
>  Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423
>
>
>  Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE
>  var lrec_target="_blank";var lrec_URL=new
> Array();lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fek55a1/M=380335.7481167.8369105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1131712606/A=3107499/R=0/id=flashurl/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com";var
> lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1107_lrec_hotelscom.swf?clickTAG=javascript:LRECopenWindow(1)";var
> lrec_altURL="http://br.rd.yahoo.com/SIG=12fek55a1/M=380335.7481167.8369105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1131712606/A=3107499/R=1/id=altimg/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com";var
> lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1107_lrec_hotelscom.gif";var
> lrec_width=300;var lrec_height=250;
>
>  -
>  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-ma

Re: RES: [oracle_br] Uso do indice

2005-11-11 Por tôpico Elis Azevedo Nery
Oi Alex!
 
Ainda estou confusa! Quando eu retorno no select somente colunas da tabela 
executor, o indice da tabela codigo postal é utilizado. Tudo bem que a tabela 
executor é pequena e nesta ele faz full mesmo, mas a de código postal é gigante 
e o custo vai lá no céu!
 
Assim usa o indice da codigo_postal:
select e.id_executor
from cod_postal c
,executor e
where c.id_cod_postal = e.codigo_postal

 

mas assim não:

select e.id_executor, c.localidade
from cod_postal c
,executor e
where c.id_cod_postal = e.codigo_postal

Obrigada pela resposta
Elis

"Alex Fernando Kirsten (CESUP)" <[EMAIL PROTECTED]> escreveu:
   Oi

   Existe uma explicação lógica sim. Uma de suas tabelas deve ser muito
pequena e o Oracle não esta utilizando índice pq a quantidade de registros
recuperados é alta em relação a quantidade de registros da tabela. Vc pode
forçar a utilização do índice com o uso de um hint na sua consulta, mas
provavelmente não iria adiantar muito.

   Outro motivo possível é que seu índice está desabilitado.

   []’s



Alex Fernando Kirsten

Oracle 9i Database Administrator Certified Professional

Cetil Sistemas

Email: [EMAIL PROTECTED]



  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Elis Azevedo Nery
Enviada em: sexta-feira, 11 de novembro de 2005 07:29
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Uso do indice



Olá!

Tenho este select simples com join de duas tabelas:


select e.id_executor, c.localidade
from cod_postal c
,executor e
where c.id_cod_postal = e.codigo_postal


Se eu coloco no select colunas da tabela cod_postal, não utiliza o indice
existente nesta tabela e acaba por fazer full. Alguém tem uma explicação
lógica para isto?
Já analisei as tabelas e os indices.

Obrigada
Elis Nery


-
Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!

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




--
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--__
___
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 





Yahoo! Grupos, um serviço oferecido por:



PUBLICIDADE

 

   



  _  

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:
[EMAIL PROTECTED]
 
  
*  O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do   Yahoo!. 



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



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--_
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 


Yahoo! Grupos, um serviço oferecido por:PUBLICIDADE
var lrec_target="_blank";var lrec_URL=new 
Array();lrec_URL[1]="http://br.rd.yahoo.com/SIG=12fek55a1/M=380335.7481167.8369105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1131712606/A=3107499/R=0/id=flashurl/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com";var
 
lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1107_lrec_hotelscom.swf?clickTAG=javascript:LRECopenWindow(1)";var
 
lrec_altURL="http://br.rd.yahoo.com/SIG=12fek55a1/M=380335.7481167.8369105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1131712606/A=3107499/R=1/id=altimg/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com";var
 
lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1107_lrec_hotelscom.gif";var
 lrec_width=300;var lrec_height=250;

-
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:
[EMAIL PROTECTED]
  
   O uso