sharemedia 发表于 2018-1-16 14:32:40

工作流超时催办功能SQL语句效率低,望解决

工作流超时催办功能SQL语句应该如下所示
因为通过观察slow.log日志文件,只要SQL超时的时候就是正在执行工作流催办的时候

SELECT frp.ID, frp.RUN_ID, frp.TIME_OUT, frp.TIME_OUT_TYPE, frp.TIME_OUT_ATTEND,
                frp.USER_ID, frp.PRCS_ID, frp.FLOW_PRCS,frp.TIME_OUT_FLAG,
                frp.CREATE_TIME, frp.ID, frp.PRCS_FLAG, frp.PRCS_TIME, frp.DELIVER_TIME,
                fr.RUN_NAME, fr.FLOW_IDFROM flow_run_prcs AS frp INNER JOIN flow_run AS fr ON fr.run_id = frp.run_idWHERE frp.time_out_flag = 0 AND frp.time_out != '' AND fr.DEL_FLAG = 0;

这个里面涉及到了两个表 flow_run和flow_run_prcs,一个是工作表单一个是工作表单步骤(大概是这个意思)
关键在于查询的时候几乎没有做过滤, 在我单位数据库直接就返回了8万行的结果集
建议能够优化这部分sql,毕竟从到到尾查一整个表完全没有必要
这8万行数据里还有四年前的数据在里面
且不说查询用时多少,光内存的占用都相当客观
望解决,谢谢


通达刘洋 发表于 2018-2-11 13:12:57

您好。您反映的问题已经反应到研发部门,节后会安排人员检查此功能,请关注下通达更新列表。
页: [1]
查看完整版本: 工作流超时催办功能SQL语句效率低,望解决