ORACLE 查询计数缓慢

嗨戴夫

我正在尝试在 Toad 上查询我的 Oracle 脚本,但响应缓慢,大约 4-8 秒。

脚本查询是关于计数的,下面是我的:

SELECT COUNT(*) 
AS TOTALS 
FROM(SELECT S.BADGEID_FK, S.SHIFT, S.STATUS, E.BADGEID, E.FIRSTNAME, E.LASTNAME 
     FROM WA_SEW_TBL_EMP_INFO S, WA_GA_TBL_EMPLOYEES E 
     WHERE S.BADGEID_FK = E.BADGEID AND S.STATUS = 'Attend' AND S.SHIFT = 'Morning' 
       AND S.BADGEID_FK NOT IN(SELECT EMPID 
                               FROM WA_SEW_TBL_RESULTS 
                               WHERE TO_CHAR(SYSTEM_DATE, 'YYYY-MM-DD') = '2017-08-30' 
                                 AND TO_CHAR(SYSTEM_DATE, 'HH24:MI') >= '07:00' 
                                 AND TO_CHAR(SYSTEM_DATE, 'HH24:MI') <= '19:29'))

我试图为某些列添加索引,但没有效果。

有什么办法可以做这个查询吗?或任何技巧?

托尼·安德鲁斯

这部分:

WHERE TO_CHAR(SYSTEM_DATE, 'YYYY-MM-DD') = '2017-08-30' 
                                 AND TO_CHAR(SYSTEM_DATE, 'HH24:MI') >= '07:00' 
                                 AND TO_CHAR(SYSTEM_DATE, 'HH24:MI') <= '19:29'

最好改写为:

WHERE SYSTEM_DATE between to_date ('2017-08-30 07:00:00', 'YYYY-MM-DD HH24:MI:SS')
                      and to_date ('2017-08-30 19:29:59', 'YYYY-MM-DD HH24:MI:SS')

这将允许使用任何索引SYSTEM_DATE

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章