Новости
Столкнулся с необходимостью создания запроса с неколькими подряд LEFT JOIN.
INSERT INTO to_reserve_mcr (cid, to_reserve) SELECT distinct g.id, ROUND(SUM(pacr.volume_discontented), 5) FROM good AS g LEFT JOIN good_in_group as gig ON gig.good_id = g.id LEFT JOIN product_accounting_component_reserve as pacr ON pacr.component_id = g.id LEFT JOIN product_accounting_order as po ON pacr.order_id = po.id where FIND_IN_SET(gig.group_id, "125,132,160,233,136,252,134,313,162,312") AND (po.state <> "closed") GROUP BY g.id
Здесь product_accounting_order - таблица заказов.
По мере того, как база данных разрослась, запрос стал выполняться очень долго, вплоть до того, что апач обрывал соединение с браузером раньше, чем выполнялся запрос.
Долго пытался оптимизировать запрос, и заметил, что на самом деле, хоть число заказов растет, заказов невыполненных (state <> 'closed') все время ограниченно. Последовал совету Интернета, и открытые заказы перенес в маленький предварительный запрос
select id from product_accounting_order where state <> 'cancelled'
а результат вставляю в большой запрос:
INSERT INTO to_reserve_mcr (cid, to_reserve) SELECT distinct g.id, ROUND(SUM(pacr.volume_discontented), 5) FROM good AS g LEFT JOIN good_in_group as gig ON gig.good_id = g.id LEFT JOIN product_accounting_component_reserve as pacr ON pacr.component_id = g.id where FIND_IN_SET(pacr.order_id, "263,264,457,526,536,596,602,603") AND FIND_IN_SET(gig.group_id, "125,132,160,233,136,252,134,313,162,312") GROUP BY g.id
Время выполнения запроса сократилось в 10 раз.
В системе управления производством Завод365 обновлен функционал производственных календарей.
Читать далееВ интерфейс расчета себестоимости изделия в системе Завод365 введены группы параметров для облегчения их ввода
Читать далееДля удобного оформления заказа в калькуляторе и продажи продукции, в которой есть комплектующие к основному товару, мы предлагаем наше решение - набор правил совместимости продукции, успешно реализованное на проекте Profildoors.Trade.
Читать далееРеализовано динамическое адресное хранение в системе управления производством Завод365
Читать далееНа проекте Дилер365 для компании Профильдорс Трейд наша команда успешно реализовала новый механизм привязки изображений товаров, направленный на повышение точности отображения продукции.
Читать далееВ системе управления производством Завод365 у инженера системы менеджмента качества появилась возможность прикреплять инструмент контроля или измерения к контрольному параметру операции в технологической карте изделия при просмотре производственного заказа
Читать далее