Improving performance of product sets
To improve performance during contract deployment, catalog filter update and during the order checkout flow perform the following tasks:
- 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));
- 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