Improving performance of product sets


To improve performance during contract deployment, catalog filter update and during the order checkout flow perform the following tasks:

  1. Mark product sets to indicate that the product sets is only used for browsing. Browsable product sets are indicated by a ZERO_VALUE (a timestamp object indicated as zero) for PUBLISHTIME. Use the following SQL statement:

    • UPDATE PRODUCTSET SET PUBLISHTIME='1899-12-31 00:00:00.0' WHERE PRODUCTSET_ID IN (select distinct PRODUCTSET_ID from PSETADJMNT where PRODUCTSET_ID in (select PRODUCTSET_ID from PSETADJMNT where TYPE =4) and PRODUCTSET_ID not in (select PRODUCTSET_ID from PSETADJMNT where TYPE != 4));

    (Oracle)

    • UPDATE PRODUCTSET SET PUBLISHTIME='1899-12-31.0.0. 0. 0' WHERE PRODUCTSET_ID IN (select distinct PRODUCTSET_ID from PSETADJMNT where PRODUCTSET_ID in (select PRODUCTSET_ID from PSETADJMNT where TYPE =4) and PRODUCTSET_ID not in (select PRODUCTSET_ID from PSETADJMNT where TYPE != 4));

  2. Delete the records in the PRESTCEREL table for browsable product sets:

    • DELETE FROM PRSETCEREL WHERE PRODUCTSET_ID IN (select distinct PRODUCTSET_ID from PSETADJMNT where PRODUCTSET_ID in (select PRODUCTSET_ID from PSETADJMNT where TYPE =4) and PRODUCTSET_ID not in (select PRODUCTSET_ID from PSETADJMNT where TYPE != 4));

    • DELETE FROM PRSETCEREL WHERE PRODUCTSET_ID IN (select distinct PRODUCTSET_ID from PSETADJMNT where PRODUCTSET_ID in (select PRODUCTSET_ID from PSETADJMNT where TYPE =4) and PRODUCTSET_ID not in (select PRODUCTSET_ID from PSETADJMNT where TYPE != 4));

 

Related Concepts


Product sets in contracts

 

Related Reference


ProductSetPublish URL
Product set data model