uden yderligere information, kan vi kun antage, at et indeks ikke bliver brugt med funktionen to_number() anvendt på kolonnen. Som vist i dette SO-spørgsmål , kan en typekonvertering forhindre optimeringsværktøjet i at bruge et indeks.
Generelt:
- når du tilføjer en funktion til en kolonne (dvs.:
to_number(id)
) optimeringsværktøjet vil ikke være i stand til at bruge de almindelige indekser på den kolonne, - hvis det er muligt, skal du bruge kolonnen rå. For eksempel:i stedet for
WHERE trunc(col) = DATE '2009-08-27'
du skal bruge:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
- hvis du virkelig skal anvende en funktion til en kolonne, kan du bruge en funktionsbaseret indeks