General Design Guidelines

Follow these general design guidelines to further improve the performance of PSP:

  • Optimize eligibility PSP procedures by:

    • Executing low-cost tests first

    • Performing high-cost tests (such as Web Service calls) only in post-pick processing

  • Build performance hints into the procedure definition. Use the Process Condition input argument in each step to identify the subset of rows in the row set that require processing (example: "{Row.Promotion Id} IS NOT NULL"). This can eliminate unnecessary SQL and in-memory operations.

  • When multiple steps operate on the same subset of rows, split the row set, perform the operations on the subset of rows, and then merge the two split row sets afterwards.

  • Avoid unnecessary subprocedures. Subprocedure calls involve copying the row set, which it is best to avoid where possible.

  • Optimize external Web Service calls by:

    • Designing the Web Service interface to be set-based

    • Making sure that a single invocation will process all rows in the row set

  • Use PSP Cache for caching of database query results. For more information about how to tune PSP performance with caching, see Logging of Performance.