We should always follow few general guidelines for improving the EIM process and make a optimized EIM process for any EIM task. Below are the few.
- Limit tables and columns to be processed using ONLY BASE TABLES/COLUMNS configuration parameters to minimize EIM processing
- Altering batch sizes to find the optimal batch size for a given business component typically helps resolve performance issues (Max size should not be more than 100,000). The maximum number of batches that you can run in an EIM process is 1,000.
- Verify that all indexes exist for the tables involved.
- Perform regular table maintenance on EIM tables. Frequent insert or delete operations on EIM tables can cause fragmentation.
- Consider disabling the Docking: Transaction Logging system preference during the EIM run , switching off transaction logging improves performance
- Delete batches from EIM tables on completion. Leaving old batches in the EIM table wastes space and could affect performance. The batch size should not be more than 20000 for the EIM Delete process to have good performance.
- Set the USING SYNONYMS parameter to FALSE in the .IFB file to indicate that account synonyms do not need to be checked.
- Perform testing with the .IFB file parameters USE INDEX HINTS and USE ESSENTIAL INDEX HINTS, trying both settings (TRUE and FALSE). The default value for USE INDEX HINTS is FALSE for oracle database. The default value for USE ESSENTIAL INDEX HINTS is TRUE for SQL SERVER.
- The inclusion of SQLPROFILE parameter greatly simplifies the task of identifying the most time-intensive SQL statements. SQLPROFILE = c:\temp\eimsql.sql
- Use of the .IFB file parameter UPDATE STATISTICS is only applicable to the DB2 database platform. This parameter can control whether EIM dynamically updates the statistics of EIM tables. The default setting is TRUE. This parameter can be used to create a set of statistics on the EIM tables that you can save and then reapply to subsequent runs.
- After you have determined this optimal set of statistics, you can turn off the UPDATE STATISTICS parameter in the .IFB file (UPDATE STATISTICS= FALSE) thereby saving time during the EIM runs.
- Setting NUM_IFTABLE_LOAD_CUTOFF extended parameter to a positive value will reduce the amount of time taken by EIM to load repository information. This is because when you set this parameter to a positive value, only information for the required EIM tables is loaded.