У меня есть база данных MySQL с бэкэнд: PHP.Вставить 60000 строк Mysql из PHP
В одной таблице я должен вставить 60 000 строк.
Мы сделали запрос в моем PHP, который возвращает 1000 строк. Для каждой строки мы должны вставить 60 строк. Мы думали, что сделать петлю, но мы не знаем, насколько это оптимально.
Часть кода, вставки данных является:
$turnos = $db->query("SELECT * FROM turno t
WHERE t.canchaId = :cancha
AND t.fecha BETWEEN :fechaInicio AND :fechaFin
AND t.nombre LIKE :cadena
ORDER BY t.fecha,t.hora ASC",
array("cancha" => $cancha["idCancha"], "fechaInicio" => $fechaInicio, "fechaFin" => $fechaFin, "cadena" => "%turno fijo%"));
foreach($turnos as $turno) {
//turnos have 1000 rows
$fecha = date_create($turno["fecha"]);
date_add($fecha, date_interval_create_from_date_string('7 days'));
$anioAuxiliar = 2017;
while(2017 == $anioAuxiliar){
//60 times
$data1 = turno[data1];
$data2 = turno[data2];
...
$fechaAGuardar = (String) $fecha->format('Y-m-d');
$result = $db->query("INSERT INTO turno(fechaAGuardar, data2, data3, data4, data5, data6, data7, data8) VALUES(:fechaAGuardar, :data2, :data3, :data4, :data5, :data6, :data7, :data8)",
array("fechaAGuardar" => $fechaAGuardar, "data2" => $data2, "data3" => $data3, "data4" => $data4, "data5" => $data5, "data6" => $data6, "data7" => $data7, "data8" => $data8));
date_add($fecha, date_interval_create_from_date_string('7 days'));
$anioAuxiliar = (int) $fecha->format("Y");
}
$cantidad_turnos = $cantidad_turnos + 1;
}
Это РНР в хостинг с PHPMyAdmin.
Так что мои вопросы:
Это самый лучший способ вставить 60000 строк?
Должны ли мы учитывать другие ограничения? (Например: PHPMyAdmin не позволяют вставить эту сумму строк)
Спасибо за помощь мне, любые предложения приветствуются
// EDIT //
Изменение вставки данных, мы нужно вставить дату и время, и для каждого цикла мы должны добавить 7 дней, когда вставлена последняя дата. Поэтому мы не можем использовать вставку с помощью выбора
Пакетная вставка - лучший способ – Elby
Возможный дубликат [Самый быстрый способ вставки массовых данных в базу данных Mysql] (http://stackoverflow.com/questions/15474675/quickest-way-to-insert-mass-data-into -mysql-database) – Elby
Пожалуйста, можете привести пример? Мы не знаем, как сделать файл ванны с mysql. Другие рекомендуют нам использовать пакет. –