Elis, Até simulei sua situação aqui e no teste que fiz, não anexei o plano de execução, mas pode crer usou o indice.
-- essa query deve ser parecida com a sua select sum(attribute_value) from lb_country_load where reference_year = 2008 and reference_month = 03 -- aqui eu criei um indice na tabela create index teste on lb_country_load (reference_year, reference_month) -- executei essa query e usou indice. select sum(attribute_value) from lb_country_load where reference_year = 2008 and reference_month = 03 Eu tentaria 2 coisas: 1.) rodar a estatística do schema para ver e o oracle muda o plano 2.) forçar o uso do indice com um hint. Espero que isso ajude. []s Eriovaldo 2009/4/21 Elis Azevedo Nery <elisn...@yahoo.com> > > > 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 > <rportilhopr...@yahoo.com.br<rportilhoproni%40yahoo.com.br> > > > Para: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.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 <elisn...@yahoo. com> escreveu: > > De: Elis Azevedo Nery <elisn...@yahoo. com> > 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] > > > [As partes desta mensagem que não continham texto foram removidas]