[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как ускорить дамп csv в MySQl ?
Strannik
Добрый день.
В настоящее время столкнулся с очень большим дампом csv->MySql

Мой код дампа:

$filename="base/base.csv";
$handle = fopen("$filename", "r");
while (($data = fgetcsv($handle, 1000000, ";")) !== FALSE)
{
$import_b="INSERT INTO `table1`(`idn`, `period`, `start_saldo`, `earn_m`, `earn_r`, `pay`, `finish_saldo`) VALUES ('$data[2]', '$data[1]', '$data[5]', '$data[7]', '$data[6]', '$data[8]', '$data[9]')";
$import_e="INSERT INTO `table2`(`idn`, `type`, `model`, `date_create`, `serial_number`, `date_of_sealing`, `seal_number`, `state`) VALUES ('$data[2]', '', '$data[11]', '$data[15]', '$data[12]', '', '', '')";
$import_table12="INSERT INTO `table12`(`idn`, `period`, `value`, `pay_type`) VALUES ('$data[2]', '$data[13]', '$data[14]', '$data[10]')";
$sql="SELECT * FROM `table3` WHERE `account` = '$data[3]'";
$res=mysql_query($sql);
if(!$res||mysql_num_rows($res)<1)
{$import_u="INSERT INTO `table3`(`fio`, `account`, `living_space`, `occupancy`, `adress`, `telefone`, `mobile`, `email`, `icq`, `password`, `password_temp`, `status`) VALUES ('$data[3]', '$data[2]', '', '', '$data[4]', '', '', '', '', 'xd', 'xd', 'rrr')";}
else{$import_table3="UPDATE `table3` SET `fio` = '$data[3]', `account` = '$data[2]', `adress` = '$data[4]'";}
$res1=mysql_query($import_table1) or die(mysql_error());
$res2=mysql_query($import_table2) or die(mysql_error());
$res3=mysql_query($import_table12) or die(mysql_error());
$res4=mysql_query($import_table3) or die(mysql_error());
if(!$res1){$r1='<div class="false">$import_table1- ошибка добавления </div>';}else{$r1='<div class="true">$import_table1- добавление успешно </div>';}
if(!$res2){$r2='<div class="false">$import_table2- ошибка добавления </div>';}else{$r2='<div class="true">$import_table2 - добавление успешно </div>';}
if(!$res3){$r3='<div class="false">$import_table12- ошибка добавления </div>';}else{$r3='<div class="true">$import_table12- добавление успешно </div>';}
if(!$res4){$r4='<div class="false">$import_table3- ошибка добавления </div>';}else{$r4='<div class="true">$import_table3- добавление успешно </div>';}
}

fclose($handle);
echo $r1.'<br>'.$r2.'<br>'.$r3.'<br>'.$r4.'<br>Импорт завершен...';


Подскажите как можно уменьшить время работы скрипта?

P.S.: если кто знает подскажите так же ка узнать на какой строчке выполняется скрипт, т.е. если произошла ошибка дампа на строке 1234 заносим ее в переменную ($error.= '1234';)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.