Всякий раз, когда я зацикливаюсь на таких вещах, я начинаю нарушать требования и вводить промежуточные шаги в свой план.Прочитав ваш вопрос, вам необходимо:
1) объединить данные из нескольких источников вместе, а затем 2) вставить этот набор результатов в другую базу данных.
Таким образом, вы можете разбить его на несколько этапов, даваябазы данных меньше, чем до истечения времени ожидания.
Создайте таблицу ТОЛЬКО данных, которые вы хотите вставить (один запрос, что-то вроде следующего)
CREATE TABLE dataToImport AS
SELECT DISTINCT p.product_id, pds.nodeid
FROM product p
JOIN DATABASE2.article_links al ON al.supplierid=p.manufacturer_id
AND al.datasupplierarticlenumber=p.mpn
JOIN DATABASE2.passanger_car_pds pds ON al.productid=pds.productid
Затем импортируйте эти данные:
INSERT IGNORE INTO product_to_category SELECT product_id, nodeid FROM dataToImport
Это немного грубая операция, но это означает, что база данных выполняет меньше работы за один удар, так что вы можете обнаружить, что она решает вашу проблему.
Если она все еще не работаетне нужно работать, вам нужно понять, насколько велик набор результатов этого запроса SELECT, поэтому сначала запустите свой SELECT самостоятельно и посмотрите на вывод.