IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning > Business Process Choreographer tuning > Tuning BPEL processes > Tuning BPEL processes that contain human tasks

Optimize task and process queries

The query and queryAll API calls for retrieving task and process lists can result in complex SQL queries that include combinations of multiple database tables. An optimized representation of the data helps to address performance requirements, particularly for human workflow applications where multiple users access task lists concurrently.

If Business Process Choreographer is tuned for queries, response times usually are in the region of subseconds on an adequately sized system, even under high load. You can apply standard database calculations to calculate the response time of queries.

High-volume human workflow scenarios are best tuned with query tables. Query tables provide a precalculated set of data that is relevant for specific queries.

For example, query properties must be joined by the database with tasks or process instances when the query runs. If query tables are used, these SQL joins do not need to be calculated anymore at query execution time.

Each query property or custom property that you include in a query causes a read of the database. To further optimize queries that include several of these properties, use attached supplemental query tables with the optimizeForFiltering option to filter the primary query table. This option results in an inner join of the supplemental and the primary query tables, and the supplemental query table is read only once for all of the defined filter properties.

Tuning BPEL processes that contain human tasks


Related concepts:
Queries on BPEL process and task data
Query tables in Business Process Choreographer


Related tasks:

Tuning the Business Process Choreographer database


Related information:

Business Process Choreographer query() and queryAll methods: best practices
DB2 information center: materialized query tables
Query tables and query performance