Каков наилучший способ для Select
, а затем Insert
больших данных в базу данных (InnoDB Engine)?PHP MySQL «Выберите», затем «Вставить» Большие данные
У меня есть более 60000 строк, которые необходимо вставить из другого стола без результата LIMIT
.
Есть ли способ предотвратить чрезмерное потребление памяти моего сервера или ускорить запрос? Могу ли я разделить запрос, допустив, что LIMIT 5000
до его полного копирования всех данных?
это пример запроса:
$query = 'SELECT * FROM orig_table WHERE user_id = 1 AND sent = 0'; // more than 60000 rows
if ($query) {
foreach ($query as $row) {
'INSERT INTO copy_table VALUE()';
}
}
Возможный дубликат [Форсирование большое количество MySQL обновлений и вставок] (HTTP: // StackOverflow. com/questions/3952288/speeding-up-large-numbers-of-mysql-updates-and-inserts) – Terminus
[Вы можете напрямую вставлять результаты запроса select] (https://dev.mysql.com/doc/ RefMan/5.6/о/вставка-select.html) – Terminus