Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

Lookup - Performance considerations

It’s a transformation that fetches data to look up against source data. A Lookup is an important
and useful transformation when used effectively. If used improperly, performance
of the mapping will be severely impaired.

1.1. Unwanted columns


By default, when you create a lookup on a table, PowerCenter gives you all the
Columns in the table. If not all the columns are required for the lookup
condition or return, delete the unwanted columns from the transformations.
By not removing the unwanted columns, the cache size will increase.

1.2. Size of the source versus size of lookup


If you have 10 rows in the source and one of the columns has to be
checked against a big table (1 million rows). Then PowerCenter builds the
cache for the lookup table and then checks the 10 source rows against the
cache. It takes more time to build the cache of 1 million rows than going to the
database 10 times and lookup against the table directly.

Use uncached lookup instead of building the static cache, as the number of
source rows is quite less than that of the lookup.

1.3. JOIN instead of Lookup


If the Lookup transformation is after the source
qualifier and there is no active transformation in-between, you can as well go
for the SQL over ride of source qualifier and join traditionally to the lookup
table using database joins, if both the tables are in the same database and
schema.

1.4. Conditional call of lookup


Instead of going for connected lookups with filters for a conditional lookup
call, go for unconnected lookup. Is the single column return bothering for
this? Go ahead and change the SQL override to concatenate the required
columns into one big column. Break them at the calling side into individual
columns again.

You might also like