Pular para o conteúdo

Fóruns Banco de dados Oracle Índice – Valores nulos Índice – Valores nulos

#99108
burga
Participante

    Pra que usar o índice? A performance da consulta está tão ruim assim? Se usar o índice ela pode piorar, e muito provavelmente vai piorar.

    Usar um índice pra retornar 30% de registros de uma tabela não parece ser uma boa idéia, o normal é quando se espera menos de 10% do total de registros da tabela.

    Mas se ainda assim quiser testar, utilize hints pra tentar forçar o uso do índice. Algo como:

    SELECT /*+ index(ST NOME_DO_INDICE) */ ST.C
    FROM TABLE_ABC ST
    WHERE ST.A IS NOT NULL
    AND LENGTH(ST.B) = 11

    Quanto aos outros índices, não interessa se eles existem pois:
    1. o índice de B não será usado de qualquer forma pois você está usando a coluna em uma função;
    2. o índice de C também não será usado pois não existe condição na consulta pra essa coluna.

    Tente estudar a diferença entre o FULL TABLE SCAN e a utilização de INDICES em consultas. Nem sempre usar um vai fazer a performance da consulta melhorar…