Skip to main content

Tuning lookup transformation – Informatica



If the lookup table is on the same database as the source table in your mapping and caching is not feasible, join the tables in the source database rather than using a Lookup transformation.

If you use a Lookup transformation, perform the following tasks to increase performance:

· Use the optimal database driver.

· Cache lookup tables.

· Optimize the lookup condition. (<,>,<=,>=,!=)

· Filter lookup rows.

· Index the lookup table.

· Optimize multiple lookups.


Using Optimal Database Drivers

The Integration Service can connect to a lookup table using a native database driver or an ODBC driver. Native database drivers provide better session performance than ODBC drivers.
Caching Lookup Tables

If a mapping contains Lookup transformations, you might want to enable lookup caching. When you enable caching, the Integration Service caches the lookup table and queries the lookup cache during the session. When this option is not enabled, the Integration Service queries the lookup table on a row-by-row basis.

The result of the Lookup query and processing is the same, whether or not you cache the lookup table. However, using a lookup cache can increase session performance for smaller lookup tables. In general, you want to cache lookup tables that need less than 300 MB.

Complete the following tasks to further enhance performance for Lookup transformations:


· Use the appropriate cache type.

· Enable concurrent caches.

· Optimize Lookup condition matching.

· Reduce the number of cached rows.

· Override the ORDER BY statement.

· Use a machine with more memory.


Optimizing the Lookup Condition

If you include more than one lookup condition, place the conditions in the following order to optimize lookup performance:

Filtering Lookup Rows

Create a filter condition to reduce the number of lookup rows retrieved from the source when the lookup cache is built.

Indexing the Lookup Table

The Integration Service needs to query, sort, and compare values in the lookup condition columns. The index needs to include every column used in a lookup condition.

You can improve performance for the following types of lookups:


Cached lookups. To improve performance, index the columns in the lookup ORDER BY statement. The session log contains the ORDER BY statement.


Uncached lookups. To improve performance, index the columns in the lookup condition. The Integration Service issues a SELECT statement for each row that passes into the Lookup transformation.

Optimizing Multiple Lookups

If a mapping contains multiple lookups, even with caching enabled and enough heap memory, the lookups can slow performance. Tune the Lookup transformations that query the largest amounts of data to improve overall performance.

To determine which Lookup transformations process the most data, examine the Lookup_rowsinlookupcache counters for each Lookup transformation. The Lookup transformations that have a large number in this counter might benefit from tuning their lookup expressions. If those expressions can be optimized, session performance improves.

Comments

  1. Nice Explanation ..Keep it up

    ReplyDelete
  2. cached lookup means dynamic lookup... am i right??

    ReplyDelete
    Replies
    1. no prashant, it is an
      option in both dynamic and static cache

      Delete

Post a Comment

Popular posts from this blog

Top 100 Informatica Interview Questions

I have attended Informatica interview last week in wipro and couple of other companies, Question below I faced in those companies. 1. What are the main issues while working with flat files as source and as targets ? 2. Explain about Informatica server process that how it works relates to mapping variables? 3. write a query to retrieve the latest records from the table sorted by version(scd) 4. How do you handle two sessions in Informatica 5. which one is better performance wise joiner or look up 6. How to partition the Session? 7. How many types of sessions are there in informatica.please explain them. 8. Explain the pipeline partition with real time example? 9. Explain about cumulative Sum or moving sum? 10. CONVERT MULTIPLE ROWS TO SINGLE ROW (MULTIPLE COLUMNS) IN INFORMATICA 11. DEPLOYMENT GROUPS IN INFORMATICA 12. LOAD LAST N RECORDS OF FILE INTO TARGET TABLE - INFORMATICA 13. LOAD ALTERNATIVE RECORDS / ROWS INTO...

Configuring the Evaluate Function in OBIEE 12C

/obiee/MW/instances/instance1/config/OracleBIServerComponent/coreapplication_obis1 Change the value of EVALUATE_SUPPORT_LEVEL =0 as below EVALUATE_SUPPORT_LEVEL: 1: evaluate is supported for users with manageRepositories permssion 2: evaluate is supported for any user. other: evaluate is not supported if the value is anything else. EVALUATE_SUPPORT_LEVEL = 2; Configuring Maximum number of records not done for odi server Configuring Maximum number of records Exceeded configured maximum number of allowed input records. Added tags in Instanceconfig.xml file. Steps : 1. login into EM 2.stop the opmn services 3.go to path /obiee/FMW/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1 4.edit the instanceconfig.xml file using vi command 5. Add bellow line under views tags <MaxVisibleColumns>30000</MaxVisibleColumns> <MaxVisiblePages>2500000</MaxVisiblePages> <MaxVisibleRows>65000</MaxVisibleRows> <MaxVisib...

OBIEE 11g dumps

I have cleared OBIEE 11g certification exam (1z0-591) exam yesterday, It was damn easy when compared to OBIEE 10g certification. I have referenced oracle PDF and some of the other OBIEE dumps. I remember some of the question which came in exam. I will publish those question very soon