G.6.2 Recommendations for Performance Improvement
While configuring an ALM process users can choose to output detailed cash flows (either all or partial). This data is stored in the FSI_O_PROCESS_CASH_FLOWS table. When a process is re-run either for the same as of the date or for a different date, existing data for that process is first deleted before new calculations begin. When the volume of data is high this can take time thereby impacting overall performance. The following recommendations will help improve this.
- Create a non-unique index on column RESULT_SYS_ID of the table FSI_O_PROCESS_CASH_FLOWS. The index is expected to make DELETE of existing data faster when a process is re-run.
- FSI_O_PROCESS_CASH_FLOWS can be partitioned by RESULT_SYS_ID. Automatic List Partitioning can be used so that partitions get added automatically when a new process is defined and executed.
- Before executing an ALM process, existing data for that process can be removed from FSI_O_PROCESS_CASH_FLOWS by using the DELETE of TRUNCATE PARTITION function. This will ensure the engine does not spend time doing that activity.
Some other server and database level settings that can improve performance are:
- REDO Log size of the database can be increased. This will reduce log switch waits and improve overall time for analytical operations.
- CURSOR_SHARING parameter of the database can be set to FORCE. By doing this the database will try to convert SQL queries generated by the cash flow engine to use bind variables which will reduce hard parses and can improve performance.
The recommended settings are just for guidance and you must consult with your database administrators and other system personnel to implement the above, taking your specific infrastructure and other requirements into consideration.