起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 71|回复: 3

[处理中3] SA_TASK数据量越来越大后导致待办任务刷新缓慢

[复制链接]

23

主题

69

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
发表于 2019-2-12 15:12:32 | 显示全部楼层 |阅读模式
版本: BeX5V3.5 小版本号: 253
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: IE10
本帖最后由 jjbboox 于 2019-2-12 15:42 编辑

待办任务的小窗口在sa_task中的数据规模达到几十万以后会变得异常缓慢。

经过调查发现TaskUtils.java中的getExecutorCondition方法有问题。
  1.                 for (PersonMember pm : pms){
  2.                         String var = "_efid" + i++;
  3.                         vars.put(var, pm.getFID());
  4. <font color="#ff0000">                        String item = ":" + var + " like concat(" + alias + ".sExecutorFID, '%')";</font>
  5.                         if (useAgentProcess){
  6.                                 String agentProcess = pm.getAgentProcess();
  7.                                 if (Utils.isNotEmptyString(agentProcess)){
  8.                                         String agentProcessCondition = getAgentProcessCondition(alias, agentProcess, vars);
  9.                                         item += " and " + agentProcessCondition;
  10.                                 }
  11.                         }
  12.                         
  13.                         items.add(item);
  14.                 }
复制代码

红色字体拼出来的KSQL条件,在数据量大了以后会变得异常缓慢。
不但使用like,还在SQL的Where条件式中使用了拼接函数,打开主页时需要将近20秒才能显示出来。
可否把该处的like条件改为=?



86

主题

12万

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27303
发表于 2019-2-13 14:55:55 | 显示全部楼层
平台提供的有任务归档功能,把已经处理完的历史任务数据归档到任务归档表中
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

23

主题

69

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2019-3-19 15:28:53 | 显示全部楼层
答非所问啊
请看清楚问题再回答。这里为什么要用like?而不用'='号判断?
我这里调查了所有调用该方法的地方,貌似没必要用like进行判断,改成=以后快了无数倍。
回复 支持 反对

使用道具 举报

86

主题

12万

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27303
发表于 2019-3-19 16:57:44 | 显示全部楼层
如果是任务分配置岗位或者部门等上的,用=号肯定就查不出数据了啊,需要用like才可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2019-4-23 04:29 , Processed in 0.116147 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表