<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Performance problem with task listing in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168604#M122054</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Joram.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the process of improving the performance of the query, we are also modifying Task.xml file to remove the "distinct" from the select statement. "distinct" seems to go to table scan instead of using the index. I noticed that there are insert and update statements in that file. I am wondering if I can modify those to change my insert and update instead of triggers or events. Both triggers and events will slow down creation/modification of task where as modification of insert statement/update statement will have no effect on performance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am thinking something like this (additions bolded) - I think I need to figure out mybatis syntax to make it work correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;insert id="insertTask" parameterType="org.activiti.engine.impl.persistence.entity.TaskEntity"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert into ${prefix}ACT_RU_TASK (ID_, REV_, NAME_, PARENT_TASK_ID_, DESCRIPTION_, PRIORITY_, &lt;/SPAN&gt;&lt;STRONG&gt;InvertedPriority_&lt;/STRONG&gt;&lt;SPAN&gt;, CREATE_TIME_, OWNER_,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASSIGNEE_, DELEGATION_, EXECUTION_ID_, PROC_INST_ID_, PROC_DEF_ID_, TASK_DEF_KEY_, DUE_DATE_, SUSPENSION_STATE_)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values (#{id, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{name, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{parentTaskId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{description, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{priority, jdbcType=INTEGER},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;#{0-priority, jdbcType=INTEGER},&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{createTime, jdbcType=TIMESTAMP},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{owner, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{assignee, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{delegationStateString, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{executionId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{processInstanceId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{processDefinitionId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{taskDefinitionKey, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{dueDate, jdbcType=TIMESTAMP},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{suspensionState, jdbcType=INTEGER}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/insert&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Apr 2014 18:29:29 GMT</pubDate>
    <dc:creator>mrbean</dc:creator>
    <dc:date>2014-04-02T18:29:29Z</dc:date>
    <item>
      <title>Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168600#M122050</link>
      <description>This is not necessarily a problem of Activiti. It's more of a problem of the underlying database. I want to know if there is any recommendation for this problem or if others have faced similar problem and how they may have handled it.Here is the scenario.We have about 300K unassigned tasks in the sy</description>
      <pubDate>Mon, 31 Mar 2014 20:10:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168600#M122050</guid>
      <dc:creator>mrbean</dc:creator>
      <dc:date>2014-03-31T20:10:32Z</dc:date>
    </item>
    <item>
      <title>Re: Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168601#M122051</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Is there a way to do this with Activiti's support?&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;You can add new colum to the DB table. There are DB scripts to create DB and to upgrade DB in activiti sources. Just to modify them for your&amp;nbsp; purposes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Are there any better solutions?&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;I would vote for DB changes( as you did) or limit the query scope.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 06:44:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168601#M122051</guid>
      <dc:creator>martin_grofcik</dc:creator>
      <dc:date>2014-04-01T06:44:32Z</dc:date>
    </item>
    <item>
      <title>Re: Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168602#M122052</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Is there a way to do this with Activiti's support?&lt;/BLOCKQUOTE&gt;You can add new colum to the DB table. There are DB scripts to create DB and to upgrade DB in activiti sources. Just to modify them for your purposes.&lt;/BLOCKQUOTE&gt;&lt;SPAN&gt;Thanks Martin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We will investigate this approach further. We will update the db creation scripts to create this new column. I will need to figure out how this change will be kept when we upgrade activiti from 5.11 to 5.15 and beyond. Question is how do we insert the value in this new column. I can think of some db mechanism (trigger that sets value for this column when a new row is created) or some event mechanism in activiti which updates the task record with a value for this column. Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 14:35:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168602#M122052</guid>
      <dc:creator>mrbean</dc:creator>
      <dc:date>2014-04-01T14:35:32Z</dc:date>
    </item>
    <item>
      <title>Re: Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168603#M122053</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;&amp;gt; some event mechanism in activiti which updates the task record with a value for this column.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In Activiti 5.15, you can now listen for entity creation events, see &lt;/SPAN&gt;&lt;A href="http://activiti.org/userguide/index.html#eventDispatcher" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#eventDispatcher&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 20:36:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168603#M122053</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-04-01T20:36:20Z</dc:date>
    </item>
    <item>
      <title>Re: Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168604#M122054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Joram.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In the process of improving the performance of the query, we are also modifying Task.xml file to remove the "distinct" from the select statement. "distinct" seems to go to table scan instead of using the index. I noticed that there are insert and update statements in that file. I am wondering if I can modify those to change my insert and update instead of triggers or events. Both triggers and events will slow down creation/modification of task where as modification of insert statement/update statement will have no effect on performance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am thinking something like this (additions bolded) - I think I need to figure out mybatis syntax to make it work correctly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;insert id="insertTask" parameterType="org.activiti.engine.impl.persistence.entity.TaskEntity"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insert into ${prefix}ACT_RU_TASK (ID_, REV_, NAME_, PARENT_TASK_ID_, DESCRIPTION_, PRIORITY_, &lt;/SPAN&gt;&lt;STRONG&gt;InvertedPriority_&lt;/STRONG&gt;&lt;SPAN&gt;, CREATE_TIME_, OWNER_,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASSIGNEE_, DELEGATION_, EXECUTION_ID_, PROC_INST_ID_, PROC_DEF_ID_, TASK_DEF_KEY_, DUE_DATE_, SUSPENSION_STATE_)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values (#{id, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{name, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{parentTaskId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{description, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{priority, jdbcType=INTEGER},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG&gt;#{0-priority, jdbcType=INTEGER},&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{createTime, jdbcType=TIMESTAMP},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{owner, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{assignee, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{delegationStateString, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{executionId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{processInstanceId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{processDefinitionId, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{taskDefinitionKey, jdbcType=VARCHAR},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{dueDate, jdbcType=TIMESTAMP},&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #{suspensionState, jdbcType=INTEGER}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/insert&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Apr 2014 18:29:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168604#M122054</guid>
      <dc:creator>mrbean</dc:creator>
      <dc:date>2014-04-02T18:29:29Z</dc:date>
    </item>
    <item>
      <title>Re: Performance problem with task listing</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168605#M122055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Directly changing the query is not possible, however you can write your own mybatis query: &lt;/SPAN&gt;&lt;A href="http://www.jorambarrez.be/blog/2014/01/17/execute-custom-sql-in-activiti/" rel="nofollow noopener noreferrer"&gt;http://www.jorambarrez.be/blog/2014/01/17/execute-custom-sql-in-activiti/&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2014 08:26:04 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problem-with-task-listing/m-p/168605#M122055</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2014-04-22T08:26:04Z</dc:date>
    </item>
  </channel>
</rss>

