Through EIM process we load bulk amount of data from an external system to Siebel base tables. The performance of these EIM jobs has to be maintained at optimum levels in order to reduce the load on the Siebel application and database servers. The following tips will help you in improving the EIM performance. Do a round of validation in development environment before running the EIM jobs on Production systems
- Compute statistics (DBSTATS) and analyze index on the tables periodically. Frequent insert or delete operations on interface tables can cause fragmentation in the table.
- Analyze and figure out the optimal records that can be accommodated in a single batch as per the database capacity
- Avoid hard coding of column values using DEFAULT/FIXED COLUMN IFB parameters
- Set the logging level to minimal values and switch off Siebel transaction logging as per the load type (Initial / Mobile client)
- Run independent EIM jobs in parallel.
- Limit tables and columns to be processed using ONLY BASE TABLES/COLUMNS configuration parameters
- Segregate INSERT and UPDATE records in different batches which in turn will improve the Turn Around Time of the EIM job
- Enable database Optimizer hints and set the USING SYNONYMS parameter as per the account data load type
- During bulk load Drop Index/Constraints on the table which are not mandatory and recreate them after the data load
- After the completion EIM Process, purge the data in the EIM Interface tables
- As a last option set SQLPROFILE parameter in IFB to analyze the long running query and tweak it to optimal values
Example SQLPROFILE = c:\EIM\eimsql.sql Note : Though no two Siebel projects can be exactly similar so every project has to be tuned according to the business needs and Infrastructure available