表TFLOWID的数据量为:328191
表TFLOW的数据量为:328274
表TTASK的数据量为:1178524
表TTASKMESSAGE的数据量为:2808647
主表的SQL为:
SELECT DISTINCT TFLOWID.FFLOWGUID,
TFLOW.FSUBJECT,
TFLOW.FCREATETIME,
TFLOW.FSTATE,
TFLOWID.FID,
TFLOW.FPROCURL,
TFLOW.FFLOWFIELDURL,
TFLOW.FGUID,
TTASK.FSPERSON
FROM TFLOWID, TFLOW, TTASK
WHERE TFLOWID.FFLOWGUID = TFLOW.FGUID
AND TFLOW.FGUID = TTASK.FFLOWGUID
AND TTASK.FSPERSON = '410197'
AND TTASK.FSPERSONNAME <> TTASK.FRPERSONNAMES
AND TFLOW.FCREATETIME >=
TO_DATE('2008-12-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND TFLOW.FCREATETIME <=
TO_DATE('2008-12-11 23:59:59', 'YYYY-MM-DD HH24:MI:SS')
ORDER BY TFLOW.FCREATETIME DESC
从表的SQL为:
SELECT TTASK.FGUID,
TTASK.FGUID AS FTASKGUID,
TTASK.FFLOWGUID,
TTASK.FPROCURL,
TTASK.FPROCUNITID,
TTASK.FSUBJECT,
TTASK.FKIND,
TTASK.FSOGN,
TTASK.FSOGNNAME,
TTASK.FSDEPT,
TTASK.FSDEPTNAME,
TTASK.FSPOSITION,
TTASK.FSPOSITIONNAME,
TTASK.FSPERSON,
TTASK.FSPERSONNAME,
TTASK.FSORGURL,
TTASK.FPRIORITY,
TTASK.FCREATETIME,
TTASK.FDESCRIPTION,
TTASK.FSTATE,
TTASK.FBIZKIND,
TTASK.FFUNCURL,
TTASK.FTYPENAME,
TTASK.FRPERSONNAMES,
TTASKMESSAGE.FGUID AS FTASKMESSAGEGUID
FROM TTASK, TTASKMESSAGE
WHERE TTASK.FGUID = TTASKMESSAGE.FTASKGUID
AND TTASK.FSPERSONNAME <> TTASK.FRPERSONNAMES
主从关系是通过TFLOWID.FFLOWGUID = TTASK.FFLOWGUID来关联,然后从表的取数规则为需要时取,但是当主表打开后,从表打开要十来分钟,不知道你们的需要时取是什么个概念?
我改成不用主从关系,改成在主表的AfterScroll时,每次都通过TFLOWID.FFLOWGUID的值重新打开从表的数据,速度只要零点几秒?
真搞不懂哟!你们的从表打开是不是一次性全部打开然后放在本地缓存? |