Yuri,

Por acaso "CODCXA" não é do tipo number?
Se for, retire as aspas simples ao realizar a consulta:

SELECT * FROM TMOV WHERE CODCXA = 12345

Caso não resolva, mande pra gente o ddl de criação da tabela e do índice
para facilitar a análise.

Abraço


2014-02-03 Fabio Prado <fbifa...@gmail.com>:

>
>
> Yuri, se o índice foi utilizado na 1a. situação ele tbém deve estar sendo
> utilizado na 2a. situação, mas na primeira ele acessa somente o índice, na
> 2a. o otimizador acesso o índice, recupera o rowid da linha e vai para a
> tabela recuperar os dados das demais colunas. Para verificarmos isso com
> certeza, passe para nós o plano de execução.
>
> []s
>
> Fábio Prado
> www.fabioprado.net
>
>
> Em 3 de fevereiro de 2014 13:22, Yuri Menon <yuri.me...@gmail.com>escreveu:
>
>
>>
>> Boa tarde pessoal!
>>
>> Podem me auxiliar por favor?
>>
>> A seguinte consulta:
>>
>> SELECT *
>> FROM TMOV
>> WHERE CODCXA = '12345'
>>
>> Retorna 3500 registros e está muito lenta.
>> Em conta disso, criei um índice que aponta para TMOV.CODCXA
>> No entanto, esse índice só é utilizado quando dou APENAS um:
>> SELECT CODCXA FROM TMOV WHERE CODCXA = '12345'
>> não é utilizado para:
>> SELECT * FROM TMOV WHERE CODCXA = '12345'
>>
>> A minha dúvida:
>> É normal isso no Oracle?
>> Se eu quiser fazer SELECT * terei de criar um índice que "enxergue" todos
>> os campos?
>>
>> Obs: tentei passar com HINT pra tentar "forçar", mas não foi.
>>
>> Desde já agradeço!
>>
>>
>
>
> --
> Fábio Prado
> www.fabioprado.net
> "Compartilhando conhecimentos e treinando profissionais em Bancos de Dados
> Oracle"
>
>
>
> 
>

Responder a