flowable / flowable/flowable-engine
ACT_RU_VARIABLE performance optimization
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.9k
- Avg merge
- 7h 8m
- Merged PRs (30d)
- 2
Description
org.flowable.task.service.impl.persistence.entity.data.impl.MybatisTaskDataManager
```java
public List findTasksWithRelatedEntitiesByQueryCriteria(TaskQueryImpl taskQuery) {
....
// this line, offset cannot be controlled . Results in very poor performance
taskQuery.setFirstResult(0);
List instanceList = getDbSqlSession().selectListWithRawParameterNoCacheLoadAndStore(query, taskQuery, getManagedEntityClass());
}
```
```sql
select RES.*, VAR.ID_ as VAR_ID_, VAR.NAME_ as VAR_NAME_, VAR.TYPE_ as VAR_TYPE_, VAR.REV_ as VAR_REV_, VAR.PROC_INST_ID_ as VAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as VAR_EXECUTION_ID_, VAR.TASK_ID_ as VAR_TASK_ID_, VAR.BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, VAR.DOUBLE_ as VAR_DOUBLE_, VAR.TEXT_ as VAR_TEXT_, VAR.TEXT2_ as VAR_TEXT2_, VAR.LONG_ as VAR_LONG_ from ACT_RU_TASK RES left outer join ACT_RU_VARIABLE VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ WHERE RES.ASSIGNEE_ is null and exists(select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TYPE_ = 'candidate' and LINK.TASK_ID_ = RES.ID_ and ( LINK.GROUP_ID_ IN ( ... ) ) ) and RES.TENANT_ID_ = '0' order by RES.CREATE_TIME_ desc LIMIT 20000 OFFSET 0
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.