Improving performance of list view rules
This presentation is part of the Designing and Building for Performance Self-Study Course.
Always look to the bottom of the rule for any associated warning messages.
PRPC has detected two properties, Code and BaseCost, which are not explicitly defined as database columns.
ListView report is running a database query to select the desired information. However, all the information needed in this case is not stored in regular database columns.
Why is this a potential problem? When retrieving data, you must ensure the underlying table accessed by the ListView has column names that exactly match all the referenced property names of this ListView. If the request were to refer to only properties that map to database columns, then the pzPvStream would not be needed. However, one referenced property not exposed as a database column can cause the generated Select statement to read the pzPvStream column. This includes those properties used for filtering and sorting as well.
You can use PRPC's Database tool for viewing and modifying your database schema.
Creating database columns for properties, a process called "exposing a property," does not require long discussions with a DBA; rather, simply give the DBA the generated SQL.
To retain certain rows in the table, run the "resaver servlet" to populate the newly created columns. (See the system administration guides for details.)
The more data, the longer it takes to run this resaver tool. Exposing the required properties during design time can avoid this expensive operational step.