我有一个表,其中包含系统的所有日志。它包含项目的插入和更新日志。我的查询根据系统上次检查更新的时间检查最新更新。
这是我的查询:
SELECT LCINDIV.CLIENTID,LCINDIV.COID,BIRTHDAY,NATIONAL,ACRNO,CIVSTAT,GENDER,RELIGION,SSSID,TIN,RESCERT,EDUCLV,DEGREE,RESIDENT,LNAME,FNAME,MNAME,DTPLRES,NATIONLT,LCINDIV.SERVErupDATE
FROM LCINDIV
LEFT OUTER JOIN LCCLIENT
ON LCCLIENT.CLIENTID = LCINDIV.CLIENTID
WHERE
AUDITKY IN (SELECT AUDITKY FROM LSAUDIT WHERE ENTRYDT > '04-Nov-2019' AND ENTRYTM > '15:15:10')
这是我的查询要执行的操作,如果AUDITKY在表LSAUDIT的AUDITKY中,则ENTRYDT大于当前日期,而ENTRYTM大于当前时间。
我的问题是,当我执行此查询时,大约需要30-60秒才能执行。有什么办法可以改善我的SQL查询?
表规格:
LCCLIENT-5,000多行
LCINDIV-5,000多行
LSUDIT-5,000,000多行
表结构:
LSAUDIT表
AUDITNO CHAR
AUDITTP CHAR
AUDITKY CHAR
ENTRYBY CHAR
ENTRYDT日期
ENTRYTM CHAR