Update Without Update Strategy for Better

advertisement
Update Without Update Strategy for Better Session Performance
A user might have come across an ETL scenario, where you need to update a huge table with few
records and occasional inserts. The straightforward approach of using LookUp transformation to identify
the Inserts, Update and Update Strategy to do the Insert or Update may not be right for this particular
scenario, mainly because of the LookUp transformation may not perform better and start degrading as
the lookup table size increases.
In this article let's talk about a design, which can take care of the scenario we just spoke.
The Theory
When you configure an Informatica PowerCenter session, you have several options for handling
database operations such as insert, update, delete.
Specifying an Operation for All Rows
During session configuration, you can select a single database operation for all rows using the Treat
Source Rows As setting from the 'Properties' tab of the session.
1.
2.
3.
4.
Insert: - Treat all rows as inserts.
Delete: - Treat all rows as deletes.
Update: - Treat all rows as updates.
Data Driven: - Integration Service follows instructions coded into Update Strategy flag
rows for insert, delete, update, or reject.
Specifying Operations for Individual Target Rows
Once you determine how to treat all rows in the session, you can also set options for individual rows,
which gives additional control over how each row behaves. Define these options in the Transformations
view on the Mapping tab of the session properties.
1. Insert: - Select this option to insert a row into a target table.
2. Delete: - Select this option to delete a row from a table.
3. Update: - You have the following options in this situation:
 Update as Update: - Update each row flagged for update if it exists in the target
table.
 Update as Insert: - Insert each row flagged for the update.
 Update else Insert: - Update the row if it exists. Otherwise, insert it.
4. Truncate Table: - Select this option to truncate the target table before loading data.
Design and Implementation
Now we understand the properties we need to use for our design implementation.
We can create the mapping just like an 'INSERT' only mapping, without LookUp, Update Strategy
Transformation. During the session configuration lets set up the session properties such that the session
will have the capability to both insert and update.
First set Treat Source Rows As property as shown in below image.
Now lets set the properties for
properties Insert and Update else Insert.
the
target
table
as
shown
below.
Choose
the
That's all we need to set up the session for update and insert without update strategy.
Download