注册

DM数据慢查询

阿丘 2025/09/16 255 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:
【问题描述】*:
有一个数据表,300多万数据,SQL语句统计总数需要耗时9s,如果不统计总数,0.112s,已经建了索引。以下是SQL语句,执行计划、索引

SQL语句:

SELECT count(sID) FROM sa_task WHERE (sStatusID='tesReady' OR sStatusID='tesExecuting' OR sStatusID='tesSleeping' OR sStatusID='tesFinished') AND sExecutorFID LIKE '/79gLkw2r7FW3bUxiSRp.ogn%' AND sCreateTime BETWEEN CONCAT('2025-01-01',' 00:00:00') and CONCAT('2025-12-31',' 23:59:59') AND ifnull(sEIField42, 0) = 0 AND sKindID = 'tkTask'

执行计划:

1 #NSET2: [249, 1, 209] 2 #PRJT2: [249, 1, 209]; exp_num(1), is_atom(FALSE) 3 #AAGR2: [249, 1, 209]; grp_num(0), sfun_num(1), distinct_flag[0]; slave_empty(0) 4 #SLCT2: [249, 24063, 209]; (SA_TASK.SEXECUTORFID >= '/79gLkw2r7FW3bUxiSRp.ogn' AND SA_TASK.SEXECUTORFID < '/79gLkw2r7FW3bUxiSRp.ogo' AND SA_TASK.SSTATUSID IN LIST AND exp11 = 0) 5 #SSEK2: [249, 24063, 209]; scan_type(ASC), IDX_SA_TASK_OPT2(SA_TASK), scan_range[('tkTask',exp_cast(exp11),min,min,min,min),('tkTask',exp_cast(exp11),max,max,max,max))

索引:

CREATE INDEX IDX_SA_TASK_OPT2 ON SA_TASK( sKindID, sCreateTime, sExecutorFID, sStatusID, sEIField42, sID );
回答 0
暂无回答
扫一扫
联系客服