1. Stage variable does not accept null value. Hence no null able column should be directly mapped to stage variable without null handling.
2. Use of SetNull() function in stage variables should be avoided because it causes compilation error.
3. If input links are not already partitioned on join key then they should be hash partitioned on the join key in join stage. In case of multiple join key it is recommended to partition on one key and sort by the other keys.
4. If there is a need to do the repartition on an input link then we need to clear the preserve partitioning flag in the previous stage. Otherwise it will generate warning in job log.
5. If database table has less volume of data as a reference then it is good to use lookup stage.
6. It is always advisable to avoid Transformation stage. Because the Transformation stage is not written in DataStage native language, instead it is written in c. So every time you compile a job it embeds the c code with the native code in the executable file, which degrades the performance of the job.