Payroll Report Optimisation
Oracle has one of the fastest databases in the industry, and regardless of the scale of your organisation, your business-critical payroll reports should be running in minutes, not hours.
Execution of your reports can be a time-consuming process that keeps your team engaged for hours monitoring them for failures or glitches. Furthermore, you know you’re susceptible to the risk of unnecessary and often lengthy delays, caused by the potential for unexpected errors or performance degradation to strike at any time
This unpredictability comes from the use of the runtime, Cost-Based Optimizer, which generates an execution plan for your SQL queries as and when they are submitted. Since optimisation is performed at run-time it is constrained to running in a matter of seconds, and therefore has to rely on heuristics and statistics to attempt to determine the most efficient execution. Although these optimisation algorithms often do a reasonable job, it is simply impossible for them to guarantee finding the truly optimal execution plan in such limited time and with only approximation techniques. When it gets it wrong, it can get it badly wrong, and as a result, your payroll reports can end up taking hours or even days to complete.
Even if you do initially get your reports performing acceptably, as the volume and shape of your data changes over time, the inbuilt optimizer may suddenly start to produce different execution plans as the statistics that govern its operations change. This can result in dramatic changes in execution time without warning or explanation.
Our proprietary structural optimisation process could be the solution.
Rather than relying on heuristics and statistics for the optimization of your payroll reports, you can take control of the execution times by performing post-design, structural optimisation. This approach restructures the SQL permanently to retrieve data from each table in the most efficient order possible.
The structure of the revised SQL is such that it bypasses the run-time cost-based optimizer, not only giving you the best performance possible, but also ensuring that it will never change.
As a result, the process could deliver you performance improvements of 5x to 30x.