IBM Support

BiLog: Performance Enabler….Limiting Data Overindulgence thru Record Limits

Technical Blog Post


BiLog: Performance Enabler….Limiting Data Overindulgence thru Record Limits


Sitting here in my cube with my stomach growling at a increasingly rapid pace, I can’t help but think of how the Maximo database is like a food buffet.  Those huge, long food buffets overflowing with food often found on a cruise ship, in Las Vegas, or if you’re lucky, at a neighbor’s open house. We often overindulge at these buffets, eating well over our capacity – because the food is there and we think we need it. 
Like buffets, Maximo users often have access to large amounts of data.   And with this access, users may believe they need to run reports against each data records – because it is there and they think they need it. Just as overindulgence in food buffets has negative consequences - including dashes to the Drugstore for antacid tablets and triple sessions at the gym - Maximo users overindulging in executing reports against all or very large sets of records in the database, can cause negative performance impacts on the application and database servers.
Imagine you have a user with multiple site access in the Work Order Tracking application that  totals over 10,000 work order records.  Every day, this user executes the Work Order Details report against all 10,000 records - because the records are there and he thinks he needs the information. However, this user only looks at the first page of the report and either prints it or discards it – without any knowledge of the performance impact his action has caused to other users.

To prevent incidents like this in which users run extremely large and unnecessary queries, you can enable record limits on your reports. The Record Limit functionality enables you to define the maximum number of records a report can execute against.

You can set this value for individual reports in the Report Administration Application.  Simply enable the Limit Record Flag and input the value for the maximum number of records the report can execute against.  When your users submit report requests, a count of their current application record set is determined.  This value is then compared to the record limit value that is set for the selected report.

  • If the current record set is greater than the record limit, users see an error message and are prompted to reduce the query before submitting the report request again. 
  • If the current record set is less than the record limit, the report is executed.

You may still have a need for a subset of your users to run these same reports against all or very large record sets for month, quarter or year end reports. In these cases, you could make a copy of the same report, grant security access to a select list of users, and then not enable record limits – or set a higher record limit value.

To find out more details - including screen captures - on setting the record limits functionality in the version 7 releases, access the V7 or V75 Report Feature Guides. Information on accessing them can be found at

For additional information on other performance enablers in V7, access this site

So the next time you’re at a buffet, or thinking about having that extra piece of chocolate cake, think about how you can prevent your users from overindulging in Maximo data. Preventing them from executing extremely large report queries could help you reduce the strain on your servers from unnecessary data overindulgences.

Thoughts? Comments? Please let me know by posting a comment here.

[{"Business Unit":{"code":"BU005","label":"IoT"}, "Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":""}]