Configuration des enregistrements de base de données PromotionArgument pour réduire les conflits de verrouillage
Vous pouvez configurer votre site afin d'utiliser les enregistrements PromotionArgument provenant de plusieurs tables de base de données afin de réduire les problèmes de verrouillage des tables de base de données, et d'améliorer les performances globales de magasin.
Avant de commencer
- Il n'existe aucune code personnalisé reposant sur des enregistrements dans la table de base de données PX_PROMOARG.
- L'ajustement de promotion
VoucherAdjustmentn'est pas utilisé. Cet ajustement propose un bon de réduction à un client lorsqu'une promotion est appliquée et qu'une commande est soumise. Cet ajustement n'est pas utilisé par défaut. Pour que votre site utilise cet ajustement, une personnalisation est nécessaire.
Pourquoi et quand exécuter cette tâche
Lorsqu'une promotion est évaluée, les résultats de l'évaluation, appelés
PromotionArguments, sont conservés dans la table de base de données PX_PROMOARG. Ces enregistrements sont utilisés chaque fois qu'une commande est passée et exécutent les actions suivantes : - Mise à jour des statistiques d'utilisation de promotion dans la table de base de données PX_USAGE.
- Signalement des bons de réduction et des codes promotionnels.
- Publication des bons de réduction et des codes promotionnels inutilisés.
- Suppression des enregistrements de choix de récompense de promotion.
PromotionArgument sont effectuées en recherchant des enregistrements dans les tables ORDADJUST, CLCDPROMO, PX_CDUSAGE, PX_CDPROMO, PX_COUPON, PX_PROMOTION et non dans la table PX_PROMOARG. Cette configuration permet d'améliorer globalement mes performances de la vitrine.Procédure
-
Ouvrez une connexion à votre base de données et exécutez des l'instruction SQL d'insertion suivante :
INSERT INTO CMDREG (STOREENT_ID, INTERFACENAME, CLASSNAME) VALUES (0,'com.ibm.commerce.order.calculation.FinalizeDiscountCalculationUsageCmd', 'com.ibm.commerce.order.calculation.FinalizeDiscountCalculationUsageNoPromoargCmdImpl');Remarque : L'instruction SQL est divisée en plusieurs lignes pour des raisons d'affichage. Vous pourriez avoir besoin de formater l'instruction SQL sur une seule ligne pour l'exécuter avec succès. -
Modifiez la classe d'implémentation de
PromotionArgumentPersistenceManager: Modifiez le fichier - Redémarrez le serveur.