utan ytterligare information kan vi bara anta att ett index inte används med funktionen to_number() tillämpas på kolumnen. Som visas i denna SO-fråga , kan en typkonvertering förhindra att optimeraren använder ett index.
I allmänhet:
- när du lägger till en funktion i en kolumn (dvs:
to_number(id)
) optimeraren kommer inte att kunna använda de vanliga indexen på den kolumnen, - om det är möjligt bör du använda kolumnen rå. Till exempel:istället för
WHERE trunc(col) = DATE '2009-08-27'
du bör använda:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
- om du verkligen måste använda en funktion på en kolumn kan du använda en funktionsbaserat index