Usar:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Referencia:TRUNC
Llamar a una función en el tran_date
significa que el optimizador no podrá usar un índice (suponiendo que exista uno) asociado con él. Algunas bases de datos, como Oracle, admiten índices basados en funciones que permiten realizar funciones en los datos para minimizar el impacto en tales situaciones, pero los DBA de IME no lo permiten. Y estoy de acuerdo:no son realmente necesarios en este caso.