注册

sql优化,多一层临时表直接到8s

一二三四 2024/08/07 478 8

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:

sql如下

select * from(select row_.*, rownum rownum_ from (select * from hse_work_ticket where (worktype = 'dz' and worktaskid = '2000000451749' and worktype = 'dz') and tenantId = 2000000002404 order by workticketid asc) row_ where rownum <= 50) where rownum_ > 0;

sql不是写的,而是一些原因自己生成的,所以优化sql 放在最后考虑

执行计划如下

1   #NSET2: [1, 1, 6309] 
2     #PRJT2: [1, 1, 6309]; exp_num(208), is_atom(FALSE) 
3       #SLCT2: [1, 1, 6309]; DMTEMPVIEW_889907563.ROWNUM_ > var2
4         #PRJT2: [1, 1, 6309]; exp_num(208), is_atom(FALSE) 
5           #RN: [1, 1, 6309] 
6             #PRJT2: [1, 1, 6309]; exp_num(207), is_atom(FALSE) 
7               #SORT3: [1, 1, 6309]; key_num(1), is_distinct(FALSE), top_flag(1), is_adaptive(0)
8                 #SLCT2: [1, 1, 6309]; (HSE_WORK_TICKET.WORKTYPE = 'dz' AND HSE_WORK_TICKET.TENANTID = 2000000002404)
9                   #BLKUP2: [1, 1, 6309]; I_HSE_WORK_TICKET_WORKTASKID(HSE_WORK_TICKET)
10                    #SSEK2: [1, 1, 6309]; scan_type(ASC), I_HSE_WORK_TICKET_WORKTASKID(HSE_WORK_TICKET), scan_range[exp_cast('2000000451749'),exp_cast('2000000451749')]

数据量大概63万
一共三层,从里到外说, 第一层0.x毫秒级, 第二层也没多少大概2ms, 第三层直接到7s 这个是什么原因导致的呢

回答 0
暂无回答
扫一扫
联系客服