› Fóruns › SQL e PL/SQL › Campo no select impede uso de índice, porque ? › Campo no select impede uso de índice, porque ?
16 de julho de 2009 às 9:38 pm
#87957
Participante
Bom…
Aqui nós temos um problema de conceito…
A consulta na tabela PESSOA é FULL pelo simples fato de você não estar restringindo um range de dados, a restrição existe na tabela VINCULO.
O fato de usar o índice caso você retire uma coluna do SELECT quer dizer que as colunas restantes pertencem a um índice e o Oracle vai fazer a busca mais “barata”, isto é, ao invés de consultar a tabela que tem várias colunas, consulta o índice que tem poucas.
Se você colocar uma restrição na tabela PESSOA certamente o índice será usado.