Re: Res: Res: [oracle_br] Indice p/Ricardo

2009-04-21 Por tôpico Ricardo Portilho Proni
No segundo SELECT ele fez um Full Scan de Índice, apesar do nome, bem melhor 
que Full Table Scan. O índice que deve existir na DIS_DESCRICAO foi suficiente 
no segundo caso.

Tem índice na coluna do SUM? Pode colocar? Creio que pode ocorrer um Fast Full 
Scan também para o SUM.

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: Res: Res: [oracle_br] Indice p/Ricardo
Para: oracle_br@yahoogrupos.com.br
Data: Terça-feira, 21 de Abril de 2009, 16:38

É isto:




Operation Optimizer Cost Cardinality Bytes Filter Predicates Query 
SELECT STATEMENT ALL_ROWS 37779 27 513   SELECT  
d.DIS_DESCRICAO,sum(DUP_ARE_EXP) 
 FROM EST_PUN_DET_UTI_PAR_07 d
 where epp_cam_ano_ini_cam=2007
   and d.ejv_num_ver=0
 GROUP BY d.DIS_DESCRICAO  
HASH(GROUP BY) 
 37779 27 513 
   
TABLE ACCESS(FULL) EST.EST_PUN_DET_UTI_PAR_07 ANALYZED 37495 2782982 52876658 
"EPP_CAM_ANO_INI_CAM"=2007 AND "D"."EJV_NUM_VER"=0   
              
 
 
 
 
 
 
 
SELECT STATEMENT ALL_ROWS 5293 27 405   SELECT  
d.DIS_DESCRICAO--,sum(DUP_ARE_EXP) 
 FROM EST_PUN_DET_UTI_PAR_07 d
 where epp_cam_ano_ini_cam=2007
   and d.ejv_num_ver=0
 GROUP BY d.DIS_DESCRICAO  
HASH(GROUP BY) 
 5293 27 405 
   
INDEX(FAST FULL SCAN) EST.EPD_I ANALYZED 5009 2782982 41744730 
EPP_CAM_ANO_INI_CAM=2007 AND "D"."EJV_NUM_VER"=0   




De: Ricardo Portilho Proni 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 16:48:32
Assunto: Re: Res: [oracle_br] Indice p/Ricardo





Entendi, Está estranho.
Pode colocar os dois SELECTs com os EXPLAIN aqui?

Abraço !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: Res: [oracle_br] Indice p/Ricardo
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 13:21

Ricardo, eu quero fazer um sum dentro de um filtro que tem indice. No meu caso 
quero somar um valor para o ano 2008. Se eu não faço o sum ele utiliza o indice 
por ano, quando coloco o sum ele faz full. Deu para entender?

Obrigadão.
Elis

 _ _ __
De: Ricardo Portilho Proni 
Para: oracle...@yahoogrup os.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 14:12:06
Assunto: Re: [oracle_br] Indice

Se você está fazendo um SUM, o Oracle precisa ler todos os registros para 
conseguir finalizar a soma. O mesmo ocorreria com AVG, por exemplo.
Já que precisa ler todos os registros, não terá vantagem em ler o índice.

É o comportamento normal do Banco.

Se você precisasse contar todas as letras de um livro, também não faria pelo 
índice. Teria que ler o livro todo.

Se você precisa realmente otimizar este SUM, crie uma Materialized View dele.

Bom feriado !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: [oracle_br] Indice
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 11:45

Bom dia pessoal!

Tenho uma tabela com milhares de registros. Esta tabela tem um índice, mas 
quando eu faço sum de alguma coluna, o Oracle prefere fazer full do que 
utilizar o índice e a query acaba por ficar super-lenta.
O que vocês sugerem? Colocar no indice as colunas utilizadas pelo sum?

Obrigada
Elis

      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

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

   

      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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/  
 - - - - ---

Res: Res: [oracle_br] Indice p/Ricardo

2009-04-21 Por tôpico Elis Azevedo Nery
É isto:




Operation Optimizer Cost Cardinality Bytes Filter Predicates Query 
SELECT STATEMENT ALL_ROWS 37779 27 513   SELECT  
d.DIS_DESCRICAO,sum(DUP_ARE_EXP) 
 FROM EST_PUN_DET_UTI_PAR_07 d
 where epp_cam_ano_ini_cam=2007
   and d.ejv_num_ver=0
 GROUP BY d.DIS_DESCRICAO  
HASH(GROUP BY) 
 37779 27 513 
   
TABLE ACCESS(FULL) EST.EST_PUN_DET_UTI_PAR_07 ANALYZED 37495 2782982 52876658 
"EPP_CAM_ANO_INI_CAM"=2007 AND "D"."EJV_NUM_VER"=0   
  
 
 
 
 
 
 
 
SELECT STATEMENT ALL_ROWS 5293 27 405   SELECT  
d.DIS_DESCRICAO--,sum(DUP_ARE_EXP) 
 FROM EST_PUN_DET_UTI_PAR_07 d
 where epp_cam_ano_ini_cam=2007
   and d.ejv_num_ver=0
 GROUP BY d.DIS_DESCRICAO  
HASH(GROUP BY) 
 5293 27 405 
   
INDEX(FAST FULL SCAN) EST.EPD_I ANALYZED 5009 2782982 41744730 
EPP_CAM_ANO_INI_CAM=2007 AND "D"."EJV_NUM_VER"=0   




De: Ricardo Portilho Proni 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 16:48:32
Assunto: Re: Res: [oracle_br] Indice p/Ricardo





Entendi, Está estranho.
Pode colocar os dois SELECTs com os EXPLAIN aqui?

Abraço !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: Res: [oracle_br] Indice p/Ricardo
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 13:21

Ricardo, eu quero fazer um sum dentro de um filtro que tem indice. No meu caso 
quero somar um valor para o ano 2008. Se eu não faço o sum ele utiliza o indice 
por ano, quando coloco o sum ele faz full. Deu para entender?

Obrigadão.
Elis

 _ _ __
De: Ricardo Portilho Proni 
Para: oracle...@yahoogrup os.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 14:12:06
Assunto: Re: [oracle_br] Indice

Se você está fazendo um SUM, o Oracle precisa ler todos os registros para 
conseguir finalizar a soma. O mesmo ocorreria com AVG, por exemplo.
Já que precisa ler todos os registros, não terá vantagem em ler o índice.

É o comportamento normal do Banco.

Se você precisasse contar todas as letras de um livro, também não faria pelo 
índice. Teria que ler o livro todo.

Se você precisa realmente otimizar este SUM, crie uma Materialized View dele.

Bom feriado !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: [oracle_br] Indice
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 11:45

Bom dia pessoal!

Tenho uma tabela com milhares de registros. Esta tabela tem um índice, mas 
quando eu faço sum de alguma coluna, o Oracle prefere fazer full do que 
utilizar o índice e a query acaba por ficar super-lenta.
O que vocês sugerem? Colocar no indice as colunas utilizadas pelo sum?

Obrigada
Elis

  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

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

   

  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

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


   


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Re: Res: [oracle_br] Indice p/Ricardo

2009-04-21 Por tôpico Ricardo Portilho Proni
Entendi, Está estranho.
Pode colocar os dois SELECTs com os EXPLAIN aqui?

Abraço !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: Res: [oracle_br] Indice p/Ricardo
Para: oracle_br@yahoogrupos.com.br
Data: Terça-feira, 21 de Abril de 2009, 13:21

Ricardo, eu quero fazer um sum dentro de um filtro que tem indice. No meu caso 
quero somar um valor para o ano 2008. Se eu não faço o sum ele utiliza o indice 
por ano, quando coloco o sum ele faz full. Deu para entender?

Obrigadão.
Elis





De: Ricardo Portilho Proni 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 14:12:06
Assunto: Re: [oracle_br] Indice





Se você está fazendo um SUM, o Oracle precisa ler todos os registros para 
conseguir finalizar a soma. O mesmo ocorreria com AVG, por exemplo.
Já que precisa ler todos os registros, não terá vantagem em ler o índice.

É o comportamento normal do Banco.

Se você precisasse contar todas as letras de um livro, também não faria pelo 
índice. Teria que ler o livro todo.

Se você precisa realmente otimizar este SUM, crie uma Materialized View dele.

Bom feriado !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: [oracle_br] Indice
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 11:45

Bom dia pessoal!

Tenho uma tabela com milhares de registros. Esta tabela tem um índice, mas 
quando eu faço sum de alguma coluna, o Oracle prefere fazer full do que 
utilizar o índice e a query acaba por ficar super-lenta.
O que vocês sugerem? Colocar no indice as colunas utilizadas pelo sum?

Obrigada
Elis

      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

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


   


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.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





  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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



Res: [oracle_br] Indice p/Ricardo

2009-04-21 Por tôpico Elis Azevedo Nery
Ricardo, eu quero fazer um sum dentro de um filtro que tem indice. No meu caso 
quero somar um valor para o ano 2008. Se eu não faço o sum ele utiliza o indice 
por ano, quando coloco o sum ele faz full. Deu para entender?

Obrigadão.
Elis





De: Ricardo Portilho Proni 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 21 de Abril de 2009 14:12:06
Assunto: Re: [oracle_br] Indice





Se você está fazendo um SUM, o Oracle precisa ler todos os registros para 
conseguir finalizar a soma. O mesmo ocorreria com AVG, por exemplo.
Já que precisa ler todos os registros, não terá vantagem em ler o índice.

É o comportamento normal do Banco.

Se você precisasse contar todas as letras de um livro, também não faria pelo 
índice. Teria que ler o livro todo.

Se você precisa realmente otimizar este SUM, crie uma Materialized View dele.

Bom feriado !

--- Em ter, 21/4/09, Elis Azevedo Nery  escreveu:

De: Elis Azevedo Nery 
Assunto: [oracle_br] Indice
Para: oracle...@yahoogrup os.com.br
Data: Terça-feira, 21 de Abril de 2009, 11:45

Bom dia pessoal!

Tenho uma tabela com milhares de registros. Esta tabela tem um índice, mas 
quando eu faço sum de alguma coluna, o Oracle prefere fazer full do que 
utilizar o índice e a query acaba por ficar super-lenta.
O que vocês sugerem? Colocar no indice as colunas utilizadas pelo sum?

Obrigada
Elis

  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. 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

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

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


   


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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