Импортировать в Mysql, большой файл 3гб построчно

marioo

Новичок
Всем добрый вечер!
Есть файл на 3 гб, там построчно название и его id, нужно это все импортнуть в mysql. Вот как думаю, но оно зависает.

PHP:
 $filename = "text.dat";

 $handle = fopen($filename, "rb");

while (!feof($handle)) {
  $contents = fread($handle, 81000);
 
$mas = explode("\r\n", $contents); 

 for($i=0; $i < count($mas); $i++)
{

  mysql_query("INSERT INTO.......

}

  }
fclose($handle);
Подскажите как правильно сделать, заранее спасибо.
 

WMix

герр M:)ller
Партнер клуба
fread($handle, 81000) может лучше уменьшить со страницы до строки, и без внутреннего цикла?
 

ksnk

прохожий
Можно собирать один запрос до ~60к длины строки и выполнять его единовременно. так получится значительно быстрее.
Запрос
insert into XXX values
(ID,DATA),
...
(ID,DATA)
;
 

marioo

Новичок
с запросом, то я понял.

А как сделать, что бы строки не резались ?
 

ksnk

прохожий
Оставлять всегда последнюю строку, после разбивки прочитанного текста из файла.
Дочитывать из файла с прибавлением в начале этой строки.
 

marioo

Новичок
Оставлять всегда последнюю строку, после разбивки прочитанного текста из файла.
Дочитывать из файла с прибавлением в начале этой строки.
Спасибо за идею, а как это реализовать ? И второе, в цикле комп зависает!
 

ksnk

прохожий
Комп локальный? Запускаем в консоли или на сервере?
 
Сверху