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

  • Автор темы Автор темы marioo
  • Дата начала Дата начала

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);

Подскажите как правильно сделать, заранее спасибо.
 
fread($handle, 81000) может лучше уменьшить со страницы до строки, и без внутреннего цикла?
 
Можно собирать один запрос до ~60к длины строки и выполнять его единовременно. так получится значительно быстрее.
Запрос
insert into XXX values
(ID,DATA),
...
(ID,DATA)
;
 
с запросом, то я понял.

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