
Добрый день,
есть стандартный Woo со схемой движения заказа:
1. Удержание, куда валятся все заказы
2. Ожидание оплаты
3. Обработка
4. Выполнено
На этапе 1 происходит резервирование товара и соответственно для товара, у которого включено управление запасами, уменьшается этот запас. Т.к. складские запасы тратятся не только на интернет-магазин, очень часто требуется узнать, сколько товара зарезервировано, но еще не оплачено. Если заказов 1-5, то можно пройтись по ним и вручную подсчитать, но если их число переваливает за 50, то такой подсчет уже занимает недопустимое время
Поэтому у есть желание сделать в бэк-энде на карточке товара информер о кол-ве этого товара в резерве (т.е. в заказах со статусом Обработка, Ожидание оплаты и Удержание).
Логика запроса: пробежать по всем заказам с указанными статусами и count'ом вывести куда-нибудь на экран значение. Возможно лучше сначала записать это значение в произвольное поле, напр., reserved, а затем вывести его аналогично total_sales.
Вопросы:
есть стандартный Woo со схемой движения заказа:
1. Удержание, куда валятся все заказы
2. Ожидание оплаты
3. Обработка
4. Выполнено
На этапе 1 происходит резервирование товара и соответственно для товара, у которого включено управление запасами, уменьшается этот запас. Т.к. складские запасы тратятся не только на интернет-магазин, очень часто требуется узнать, сколько товара зарезервировано, но еще не оплачено. Если заказов 1-5, то можно пройтись по ним и вручную подсчитать, но если их число переваливает за 50, то такой подсчет уже занимает недопустимое время
Поэтому у есть желание сделать в бэк-энде на карточке товара информер о кол-ве этого товара в резерве (т.е. в заказах со статусом Обработка, Ожидание оплаты и Удержание).
Логика запроса: пробежать по всем заказам с указанными статусами и count'ом вывести куда-нибудь на экран значение. Возможно лучше сначала записать это значение в произвольное поле, напр., reserved, а затем вывести его аналогично total_sales.
Вопросы:
- Если кол-во выполненных заказов будет большим, то не будет ли чрезмерной нагрузка на MySQL сервер пройтись по всем записям, фильтруя сначала заказы с требуемым статусом, а затем подсчитывая кол-во искомого товара?
- Если нагрузка или задержки при выводе страницы товара из-за авто-подсчета будут велики, то будет-ли уместней делать подсчет зарезервированного товара по требованию через кнопку, аналогично кнопкам Обновить/Добавить у произвольных полей?
- Где посмотреть примеры обращения к базе заказов?