MySQL 5.5.x
Есть запрос вида:
INSERT INTO table1 (field1, field2, field3, field4, field5, field6)
(
SELECT t2.field1, t2.field2, uid, t2.field3, 42, 100500
FROM table2 AS t2
/* ... joins, conditions, subqueries, etc ... */
)
Здесь некоторый параметр `uid` – это `users_table.id`, который никак не связан со всем остальным запросом.
Задача для каждого пользователя (=каждой строки из `users_table`) выполнить insert-запрос выше, подставив внутрь (возможно даже не на первый уровень вложенности подзапроса) айдишник вместо uid.
Как это сделать с помощью скриптовых языков (пхп, питон, ...) – очевидно, однако, если в таблице юзеров миллион, то скорость будет категорически удручать. Как сделать в SQL цикл и вызывать процедуру – тоже
теоретически понятно.
Есть ли способ это ускорить? Например, реализовать одним запросом?