Use the Property Optimization tool to improve data retrieval performance from your Pega database. This tool creates a dedicated database column for a selected property and starts a background process to populate the values for the new column from existing BLOB values. This eliminates the need to read the BLOB when fetching property data.
You cannot optimize a transient property, because the column values would all be null.
You cannot optimize properties in classes mapped to pr_other.
You can only expose properties that are of a Single Value type.
To use the Property Optimization tool your environment must meet these prerequisites:
- Your access group must have the SchemaPropertyOptimization privilege.
- The dynamic system setting
database/AutoDBSchemaChangesmust be true.
- The Pega-RulesEngine agent System-Job-PropertyOptimizationpyOptimization must be enabled for background processing.
- The Data-Admin-DB-Name data instance named PegaRULES must identify the credentials, for either the primary database username and password, or the alternate Admin username and password, that allow the ALTER TABLE and CREATE TABLE functions for the database.
When you meet the
prerequisites you can use the Property Optimization tool using the Application Explorer.
- Using the Application Explorer, enter the class for the property you want to optimize and then expand the Data Model node and the Property list.
- Right-click a property name and click Optimize for reporting.
- Select the tables in which you want to create a dedicated database column for this property. You must select at least one table.
- If the property is embedded, specify the RuleSet and Version to contain the new Index- class, the properties in that class, and the Declare Index rule.
- Select whether to optimize the property now or later. If you select later, click the calendar icon to select a date within seven days of the current date to optimize the property.
- Click Next.
- Review the tables to which the property column will be added and the classes that will be mapped to each table.
- Click Next.
- Click Finish.
- Exposing properties and populating database columns
You can expose a property as a database column, and populate the new column by extracting values from the Storage Stream (BLOB or pzPVStream) column using the Property Optimization tool in a development system. You can also use this tool to "expose" values of an embedded property by automatically creating an appropriate Index- class and Declare Index rule.
- Viewing column population jobs
You can view the status of column population jobs running in the background that were started by the Property Optimization tool. This tool populates newly exposed database table columns with data values from the BLOB column.
- Canceling column population jobs
You can cancel a column population job that was started by the Property Optimizer tool.