Professional Documents
Culture Documents
Based on the performance you cn decide what to do. If the number of records in the
two tables are less, you can choose to have joiner, and if you want to push the
Database server to do the bulk of pulling, then do the Source qualifier.
The easiest answer is YES and NO. SQL overrides are better is some cases, Joiners
are better in others.
1. Assuming the source database has zero performance issues, a SQL override is
almost *ALWAYS* superior to Joiners because a database engine doesn't have the
overhead that Informatica has, for example, moving data from the DB storage to over
the network (usually) and writing the data to cache files on the Informatica server
to accomplish the join. Now -- database engines do similar tasks internally, but
they are highly optimized. It's their job :-)
** My soapbox :-) You shouldn't automatically default to using "SQL overrides". You
can define the tables and define the "user defined join" and "source filter"
sections of the SQ object. There are some (most ideologically)) benefits to this.
Informatica can generate a query dynamically based on these settings.
3) If your source data is *HUGE* then the Joiner is not the best options for the
reasons listed in #1, plus the fact that it will require huge amounts of disk
space. If you have to join millions of rows each run, be prepared to have 100 gigs
dedicated to the cache.
In our test environment, Oracle 10g performs JOIN operation 24% faster than
Informatica Joiner Transformation while without Index and 42% faster with Database
Index
In Oracle there are many ways to delete duplicate records. Note that below example
are described to just explain the different possibilities.
10 Bill 2000
11 Bill 2000
12 Mark 3000
12 Mark 3000
12 Mark 3000
13 Tom 4000
14 Tom 5000
15 Susan 5000
1. Using rowid
2. Using self-join
3. Using row_number()
4. Using dense_rank()
Here you can use both rank() and dens_rank() since both will give unique records
when order by rowid.
5. Using group by
10 Bill 2000
11 Bill 2000
12 Mark 3000
13 Mark 3000