Optimizing properties from the user interface

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. The tool creates a new database column and starts a background process that populates the values for the new column (for existing instances of this class only) from BLOB values. Background processing might take some time, depending on volume, and cause computations in your applications that involve the property value to fail or produce incorrect results until all background processing is complete.

You can also use this tool to "expose" values of an embedded property by automatically creating a concrete Index- class, properties for the new class, and a Declare Index rule that maintains the indexes. A background process creates the instances of the new Index- class.

You cannot optimize a transient property, because the column values would all be null. You cannot optimize properties in classes mapped to pr_other.

Your development environment must meet these prerequisites to use this tool:

  • The Pega-RulesEngine agent System-Job-PropertyOptimizationpyOptimization must be enabled for background processing.
  • The Data-Admin-DB-Name data instance named PegaRULES must identify, for either the primary database username and password, or the alternate Admin username and password, the credentials that allow the ALTER TABLE and CREATE TABLE functions for the database.

After you have satisfied the prerequisites, see Exposing properties and populating database columns for more information on using the Property Optimization tool.