В моей базе данных MySQL у меня есть две таблицы: 'orders' и 'orders_lines'. Заказы содержат информацию о клиенте, дате заказа и так далее. Orders_lines содержит данные об упорядоченных продуктах, таких как product_id, цена, количество, налоговая ставка и т. Д.
В настоящее время я создаю поисковую страницу, на которой я хотел бы вернуть заказы, содержащие определенный товар. Например, я хотел бы вернуть все заказы с product_id 2. Я подумал о запросе вроде:
SELECT * FROM orders WHERE order_id IN ( SELECT order_id FROM orders_lines WHERE product_id = 2 )
Но когда я выполнил запрос сегодня утром, мне пришлось позвонить хостинг-провайдеру, чтобы завершить процессы MySQL, потому что это было слишком тяжело. Никогда не слышал об этом и не мог понять, почему, и я довольно отчаялся в данный момент. Таблица заказов содержит около 30 000 строк, таблица orders_lines - около 38 000 строк.
Приветствуются любые предложения о сбоях в моей базе данных, о том, как изменить запрос, чтобы он работал правильно, или о том, как достичь моей цели - отображать заказы, содержащие определенный товар!
С уважением,
Мартейн