以下是我的查询,有没有办法优化我的查询,以便降低成本
仅供参考:已经在JTASK.JOBHANDLE和JLIST.HANDLE上创建了索引
SELECT JLIST.*,
JTASK.jtstatus LATESTTASKSTATUS,
JTASK.jtruncount JOBRUNCOUNT,
JTASK.objecthandle
FROM esm_n_joblist JLIST
LEFT OUTER JOIN (SELECT JT1.jobhandle,
JT1.taskstatus JTSTATUS,
JT2.rc JTRUNCOUNT,
JT1.objecthandle objecthandle
FROM esm_n_jobtasklist JT1,
(SELECT Count(DISTINCT runid) RC,
jobhandle JH,
Max (starttime) MAXT
FROM esm_n_jobtasklist
GROUP BY jobhandle) JT2
WHERE JT1.jobhandle = JT2.jh
AND JT2.maxt = JT1.starttime) JTASK
ON JLIST.handle = JTASK.jobhandle;
以下是查询的执行计划
答案 0 :(得分:1)
以下索引很有可能加快查询速度:
create index ix_jtl1 on esm_n_jobtasklist (jobhandle, starttime, runid);
请在添加此索引之前和之后提供执行计划。