有没有办法优化这个查询?

ijnw1ujt  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(313)

下面是我的查询,有没有办法优化我的查询以便降低成本
仅供参考:已经在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;

下面是查询的执行计划

oxf4rvwz

oxf4rvwz1#

下面的索引很有可能加快您的查询速度:

create index ix_jtl1 on esm_n_jobtasklist (jobhandle, starttime, runid);

请提供添加此索引前后的执行计划。

相关问题