Guidelines for Optimizing Mappings

download Guidelines for Optimizing Mappings

of 3

Transcript of Guidelines for Optimizing Mappings

  • 7/27/2019 Guidelines for Optimizing Mappings

    1/3

  • 7/27/2019 Guidelines for Optimizing Mappings

    2/3

    small lookup tables, less than 5,000 rows, cache for more than 5-10 lookup calls.

    o Replace lookup with decode or IIF (for small sets of values).

    o If caching lookups and performance is poor, consider replacing

    with an unconnected, uncached lookupo For overly large lookup tables, use dynamic caching along with a

    persistent cache. Cache the entire table to a persistent file on thefirst run, enable update else insert on the dynamic cache and theengine will never have to go back to the database to read datafrom this table. It would then also be possible to partition thispersistent cache at run time for further performance gains

    o Review complex expressions.

    9. Minimize aggregate function calls.10. Replace Aggregate Transformation object with an Expression

    Transformation object and an Update Strategy Transformation for certaintypes of Aggregations.

    11. Operations and Expression Optimizing Tipso Numeric operations are faster than string operations.

    o Optimize char-varchar comparisons (i.e., trim spaces beforecomparing).

    o Operators are faster than functions (i.e., || vs. CONCAT).

    o Optimize IIF expressions.

    o Avoid date comparisons in lookup; replace with string.

    o Test expression timing by replacing with constant

    12. Use Flat Fileso Using flat files located on the server machine loads faster than a

    database located in the server machineo Fixed-width files are faster to load than delimited files because

    delimited files require extra parsingo

    If processing intricate transformations, consider loading first to asource flat file into a relational database, which allows thePowerCenter mappings to access the data in an optimized fashionby using filters and custom SQL Selects where appropriate

    13. If working with data that is not able to return sorted data (e.g., Web Logs)consider using the Sorter Advanced External Procedure.

    14. Use a Router Transformation to separate data flows instead of multipleFilter Transformations

    15. Use a Sorter Transformation or hash-auto keys partitioning before anAggregator Transformation to optimize the aggregate. With a SorterTransformation, the Sorted Ports option can be used even if the originalsource cannot be ordered

    16. Use a Normalizer Transformation to pivot rows rather than multipleinstances of the same Target17. When using a Joiner Transformation, be sure to make the source with the

    smallest amount of data the Master source18. If an update override is necessary in a load, consider using a lookup

    transformation just in front of the target to retrieve the primary key. Theprimary key update will be much faster than the non-indexed lookupoverride

  • 7/27/2019 Guidelines for Optimizing Mappings

    3/3

    19. Errors should always be trapped and logged to the error file. No recordsshould be dropped.