Magento Commerce версия имеет встроенный модуль для оптимизации приложений правил продаж.В соответствии с пользовательской лицензией на продукт мне не разрешается разглашать алгоритмы и детали реализации функции, но я могу объяснить некоторые приемы в двух словах.
Когда владелец магазина создает новое правило корзины / промо-акцииMagento преобразует каждое условие в правиле в некоторый токен.Затем он помещает все токены в специальный индекс с отношением один-ко-многим для схемы токенов rule_id.
Когда покупатель манипулирует с корзиной покупок, Magento генерирует токены для своей конкретной корзины покупок.Затем выполняется поиск соответствующих идентификаторов правил для комбинации токенов корзины клиента.
Таким образом, этот метод позволяет не проверять все правила акции по одному для каждой корзины покупок клиента, а получать только соответствующие правила из индекса.