poor performance

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
ravij
Premium Member
Premium Member
Posts: 170
Joined: Mon Oct 10, 2005 7:04 am
Location: India

poor performance

Post by ravij »

Hi ,

My job is like db--->AggStage---->db. I am aggregating the sal group by geography. i am processing 1 million records. my job is running very slow. I used Link Partitioner though its very slow. How can I improve my job performance?

any help would be appreciated
Ravi
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Sort the data before passing it to the aggregator stage. You can sort the incoming data by a mere order by clause in your sql select, and let the aggregator know that the sort order. That will help speed up things.
Also, for that amount of data, do the aggregation at the database level. I mean, in you sql itself.
Regards,
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
ravij
Premium Member
Premium Member
Posts: 170
Joined: Mon Oct 10, 2005 7:04 am
Location: India

poor performance

Post by ravij »

Hi thanks for quick response.

Do u mean that should i write the user defined sql at source(database) level to sort the records?

thanks in advance
Ravi
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

You dont have to go for user defined. Even in generated query, you have a section where you can provide order by clauses. What database stage are you using?
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
dprasanth
Charter Member
Charter Member
Posts: 90
Joined: Fri Oct 07, 2005 7:55 am

Re: poor performance

Post by dprasanth »

ravij wrote:Hi thanks for quick response.

Do u mean that should i write the user defined sql at source(database) level to sort the records?

thanks in advance
You can use a sort stage to sort the records
ravij
Premium Member
Premium Member
Posts: 170
Joined: Mon Oct 10, 2005 7:04 am
Location: India

Post by ravij »

Hi DSguru,

I am using Oracle OCI stage for source db.

thanks in advance.
Ravi
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Then put your ORDER BY into your Oracle SELECT statement.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

A better option would be a db order by rather than a sort stage for that amount of records. Do as ArndW suggested. Put the orderby clause in the sql select. You might have to go for user defined sql. Look into it.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
dprasanth
Charter Member
Charter Member
Posts: 90
Joined: Fri Oct 07, 2005 7:55 am

Post by dprasanth »

DSguru2B wrote:A better option would be a db order by rather than a sort stage for that amount of records. Do as ArndW suggested. Put the orderby clause in the sql select. You might have to go for user defined sql. Look into it.
In the OCI stage, in the sql tab, click on column generated sql query and click the build button.. There you can see the
FROM , WHERE and OTHER clause
You can specify your ORDER BY in the OTHER Clause. This way you don't need to use a user defined sql.
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

There you go. dprasanth outlined it for you. I wasnt able to do it as i have not used the OCI stage. Just never got the chance to work with Oracle. :roll:
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
Post Reply