IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning
Process search optimization
You can optimize your process searches by using the saved search acceleration tools.
For systems that have a large amount of business data and are used in searches (for example 50+) the Process Portal tasks and instance queries might operate slower than expected. When you use the save search acceleration tools to optimize your process searches, Process Portal searches that constrain on business data are faster.
You optimize a process search only on runtime or production systems. It is suggested that you do not optimize process searches on systems used for development, or for systems where changes happen frequently to deployed applications .
You use the following two search acceleration tools to optimize a process search:
- SchemaGenerator tool - This tool generates two new tables: LSW_BPD_INSTANCE_VAR_NAMES (variables table), and LSW_BPD_INSTANCE_VARS_PIVOT (pivot table) . It also generates the schema for each table.
- DataLoad tool - This tool populates the variables table data from the BPD instances that are currently in progress.
The pivot and variables tables
The pivot and variables tables ensure that your query runs efficiently once your process search has been optimized. The tables present data in the following format, with each item in its own column:
- The pivot table
- Instance ID
- Every searchable business data variable defined in all currently deployed BPDs
- Every business data variable defined in LSW_BPD_INSTANCE_VARIABLES
- The variables table
- Variable name
- Column name
- Data type
Process search optimization overview
A process search optimization can consist of three unique process
- Enabling an optimization
- Disabling an optimization
- Reenabling an optimization
Enabling optimizationTo enable process search optimization, you need to run the optimization tools. See Saved search acceleration tools.
Disabling optimizationTo disable optimization, do the following steps:
- Shut down the server
- Remove the pivot and variables tables from your database.
- Restart the server.
Reenabling optimizationTo renable optimization, do the following steps:
- Deploy all BPD updates.
- Stop the server.
- Remove the pivot and variables tables from your database.
- Rerun the SchemaGenerator and DataLoad tools.
- Restart the server.
System requirements and restrictions
The following requirements and restrictions apply:
- You use this process only for production deployments, or for systems that simulate production deployments.
- You must rerun the tools if you have deployed a new a BPD or updated an existing BPD (deploying a new BPD snapshot) that contains any searchable business data variables. You must also rerun the tools if you have deployed a modified BPD that has changes to its business data variable definitions (adding new variables, renaming any existing variable, modifying the type of any existing variable). When you rerun the tools, you rebuild the pivot table.
Business data is defined by making the Available in Search variable available on the BPD property sheet. See Making business data available in searches and views
Restriction: If you do not do rerun the optimization tools when a BPD has changed, your process searches will generate failures.
The following restrictions apply to a DB2 database.
- The pivot table copies of all string values are truncated if they exceed 128 bytes. This affects only Inbox queries.
- The sizes of all unique business data variables, when added together, must be less than 32767 bytes. This means if all your business data variables were strings, you would be limited to 255. This restriction is on all unique business data variables defined across all of your deployed BPDs.
For example, if you had three BPDs deployed that each had six business data variables, but one of them was defined in exactly the same way in all three BPDs, then you would have a total of 16 unique business data variables.
- Saved search acceleration tools
You use the SchemaGenerator and DataLoad tools to optimize a process search.
- Best practices
There are certain processes that are considered a best practice when you optimize a process search.