Максимально упрощенно опишу вопрос:
Есть небольшая программка для учета загрузки производства.
Есть небольшая табличка:
То есть в таблице записи указывают с какого по какое число будет производится определенный заказ.
Однако производство имеет ограничение - не более 5 заказов в день.
перед добавление нового заказа нужно проверить каждую дату предполгаемого периода чтобы в ней уже не было 5 заказов в производстве.
Если заказов уже 5 в дате - она недоступна для размещения заказа.
Сейчас это делает очень тупо: при добавлении нового заказа с желаемым периодом производства на каждую дату идет запрос с подсчетом количества размещенных заказов:
SELECT COUNT(id_order) FROM `calendar` WHERE `date_start`<='2019-09-18' and `date_end`>='2019-09-18'.
Но в ростом таблицы все это стало работать медленно просто до жути даже с учетом индексов.
Можно ли как-то построить один запрос, который сразу бы выводил максимальное кол-во заказов в день в определенный период?
Например: менеджер хочет чтобы его заказ, требующий на изготовление 8 днЕЙ изготовили с 18.09.2019 по 25.09.2019. Как один запросом узнать, если в периоде с 18 по 25 сентября 2019 года хоть один, в котором произвоство уже загружено максимальными 5 заказами в день?
Если есть - то период недоступен для размещения заказа, если нет - то доступен.
Прошу помочь)
P.S.: Mysql версии 5.0.11
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как выполнить сортировку дат используя только ORDER BY в следующем порядке:
У меня есть таблица, в которой храниться first_id и second_id, это айди пользователей которые между собой дружат, и мне нужно для пользователя по определенному...
столкнулся с проблемой при переходе MYSQL 5,6 на 5,7 выборка выбирает не корректно