› Fóruns › Banco de dados Oracle › Índice – Valores nulos › Índice – Valores nulos
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…