Brug:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Reference:TRUNC
Kaldning af en funktion på tran_date
betyder, at optimeringsværktøjet ikke vil være i stand til at bruge et indeks (forudsat at der findes et), der er knyttet til det. Nogle databaser, såsom Oracle, understøtter funktionsbaserede indekser, som gør det muligt at udføre funktioner på dataene for at minimere indvirkningen i sådanne situationer, men IME DBA'er tillader ikke disse. Og jeg er enig - de er egentlig ikke nødvendige i dette tilfælde.