Gebruik:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Referentie:TRUNC
Een functie aanroepen op de tran_date
betekent dat de optimizer geen index kan gebruiken (ervan uitgaande dat deze bestaat) die eraan is gekoppeld. Sommige databases, zoals Oracle, ondersteunen functiegebaseerde indexen waarmee functies op de gegevens kunnen worden uitgevoerd om de impact in dergelijke situaties te minimaliseren, maar IME DBA's staan dit niet toe. En ik ben het ermee eens - ze zijn in dit geval niet echt nodig.