This presentation is part of the Designing and Building for Performance Self-Study Course.
ListView rules are used extensively in most PRPC applications for section displays and reporting. Often times, the output from the List View is functionally correct, and when run in the development environment, it runs in sub-second response time.
But will it continue to perform well in a production environment? Don’t be fooled…this very simple listing could become a very serious production issue later potentially due to the following factors:
- Test data returned is small: The amount of data returned in the test case is smaller than what will likely occur in production
- Tables contain only a few rows: The size of the underlying tables for your test data is many times smaller than the production database, and inefficient access is masked by these very small data sets
- Missing indexes not apparent: The database index(s) necessary for efficient query performance may not exist, but again, due to the small datasets, we don’t see the negative effect of that in development.
- Unexposed data: A more subtle problem may be that data being reported on is buried deep within the special database column pzPvStream, and the resources required to parse out the data is extensive.
Let’s take a look at a List View rule in PRPC to see what warnings may exist and how we should address them.