我相信这是在 Oracle 上运行的 SQL 查询:
SELECT ID, DEVICE_TYPE, S3_KEY, TO_CHAR(CREATION_DATE, 'YYYY-MM-DD HH24:MI:SS') AS CREATION_DAT
FROM KASE_DDL.ARCHIVED_LOG
WHERE
CREATION_DATE >= TO_DATE('{DIST_YYYY/MM/DD HH24:MI:SS_UTC}', 'YYYY/MM/DD HH24:MI:SS')
AND CREATION_DATE <= TO_DATE('{DIET_YYYY/MM/DD HH24:MI:SS_UTC}', 'YYYY/MM/DD HH24:MI:SS')
它运行缓慢,我想知道如何重写它以提高其效率。例如,如果在 CREATION_DATE 上构建了索引,此查询是否可以使用索引?我记得读过书说,如果围绕列进行计算,Oracle 可能无法使用基于它的任何索引。我的查询是否属于这种情况?还有什么建议吗?谢谢你。
更新:
在我的问题中,CREATION_DATE 有一个内置索引。我很好奇这个查询是否使数据库能够利用索引。