Informatica Basic Tuning
Some tips to enhance
performance
By: Aman Yusuf
Source Qualifier
Filter records to remove unnecessary fields from getting
into the mapping
Sorting the source data (Order By)
Indexing the columns in the mapping by using pre and
post-session SQL
Join data originating from the same source
Joiner
Use Source Qualifier while joining sources from the
same database
Designate Joiner as the master source with smaller
number of record sets
Normal Joins are faster
Filter
Use Filter as close to the Source Qualifier in the
mapping.
Use an expression before Filter to evaluate the filter
condition and in Filter test for that condition as
TRUE/FALSE.
Use Source Qualifier as Filter
Use Router instead of multiple Filters
Expression
Remove the Error(xxxx)default value from Expressions
Use output ports instead of variable ports
Use operators instead of functions
IIF conditions are costly so reduce by using DECODE
Datatype conversion - perform it in Source Qualifier
Remove unused ports
Test Expressions slow down sessions
Optimize IIF conditions
Try using string functions in the Source Qualifier (e.g.
SUBSTR,LTRIM,RTRIM,etc.)
Lookup
Indexing columns in Lookup order by
Place conditions with an equality operator (=) first
Cache small lookup tables
Join tables in database to minimize the use of Lookups
in mappings
Use a persistence lookup cache for static lookup tables
Use shared cache for multiple Lookups in a mapping
If possible use DECODE in expression instead of
Lookup
Use Unconnected Lookups wherever possible
Lookup (contd)
It takes less time to lookup integer type columns than
string type columns.
Try to eliminate the use of non-cached Lookups
wherever necessary
Performance can also be increased if default order by
statement is suppressed and an override order by with
fewer columns is entered
Reduce the number of cached rows
Avoid using too many Lookups in a single mapping
Aggregator
Use sorted input to decrease the use of aggregator
cache
Limit the connected input/output or output ports
Use Filter before Aggregator
Always use Number datatype or less width char datatype
in group by
Avoid complex Aggregator expressions
Minimize Aggregator Function call
Use Incremental Aggregation
Rank
Use a filter before Rank to reduce the number of rows
for input to the Rank Transformation
Sequence Generator
Use reusable Sequence Generator in multiple mappings
Stored Procedure
Reduce the row count
Replace by expressions
Use unconnected stored procedure
Update Strategy
Use the option DD_INSERT / DD_UPDATE for Inserting
or updating Targets rather than using Update else insert
option in the session properties
Target
Dropping indexes and key constraints while loading data
Use bulk loading mode for loading data in Targets (If
feasible)
Session Based Tuning
Allocating Buffer Memory
Increasing the commit interval
Disabling High Precision
Reducing Error Tracing
Increasing the cache sizes
Turn Off “Collect Performance Statistics”