注册

SQL优化

DM_009527 2026/03/24 315 11

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.3.140 pack4
【问题描述】*:执行了几分钟还没结束,请教如何优化
SELECT count(1) child_num,
count(CASE WHEN s.vacc_cert_no='0' then 1 END) child_not_apply_num
FROM chi c,CHILDS s,DEPA d
where c.CHIL_ID = s.CHIL_ID
and c.CHIL_CURDEPARTMENT=d.DEPA_ID
AND d.DEPA_USE='1'
and d.DEPA_LEVEL in ('1','2','3','4')
and c.CHIL_BIRTHDAY>=TO_DATE('19450101','yyyymmdd')
and c.CHIL_BIRTHDAY<=TO_DATE('20260323','yyyymmdd')
and c.CHIL_HERE not in ('4','5')
and d.AREA_COUNTY = 666;

执行计划:

1 #NSET2: [18117, 1, 391]
2 #PRJT2: [18117, 1, 391]; exp_num(2), is_atom(FALSE)
3 #AAGR2: [18117, 1, 391]; grp_num(0), sfun_num(2), distinct_flag[0,0]; slave_empty(0)
4 #PRJT2: [18117, 433213, 391]; exp_num(1), is_atom(FALSE)
5 #HASH2 INNER JOIN: [18117, 433213, 391]; RKEY_UNIQUE KEY_NUM(1); KEY(C.CHIL_ID=S.CHIL_ID) KEY_NULL_EQU(0)
6 #NEST LOOP INDEX JOIN2: [7689, 433213, 313]
7 #HASH RIGHT SEMI JOIN2: [3, 31, 174]; n_keys(1) KEY(DMTEMPVIEW_890995593.colname=D.DEPA_LEVEL) KEY_NULL_EQU(0)
8 #CONST VALUE LIST: [1, 4, 48]; row_num(4), col_num(1)
9 #SLCT2: [2, 35, 174]; (D.DEPA_USE = '1' AND D.AREA_COUNTY = var4)
10 #CSCN2: [2, 17187, 174]; INDEX33568141(DEPA as D); btr_scan(1)
11 #PARALLEL: [1850, 13735, 139]; scan_type(GE_LE,FULL), key_num(0, 1, 1), simple(0)
12 #HASH RIGHT SEMI JOIN2: [1850, 13735, 139]; n_keys(1) (ANTI), KEY(DMTEMPVIEW_890995594.colname=C.CHIL_HERE) KEY_NULL_EQU(0)
13 #CONST VALUE LIST: [1, 2, 48]; row_num(2), col_num(1)
14 #SLCT2: [1850, 13735, 139]; (C.CHIL_BIRTHDAY >= var5 AND C.CHIL_BIRTHDAY <= var6)
15 #BLKUP2: [1850, 13735, 48]; IDX$$_042F0001(C)
16 #SSEK2: [1850, 13735, 48]; scan_type(ASC), IDX$$_042F0001(CHI as C), scan_range[(D.DEPA_ID,min),(D.DEPA_ID,max))
17 #CSCN2: [6437, 53251289, 78]; INDEX34016583(CHILDS as S); btr_scan(1)

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