При обращении к рнр-странице браузер предлагает ее сохранить

legend

Новичок
Asar
во-первых, если есть ошибки будет тормозить... Ты бы все-таки проверил.
во-вторых, если файл еще будет увеличиваться, то, наверное, все-таки лучше сделать перезагрузку страницы в определенный момент... Т.е. грузи по частям. (не дробя файл, а считывая его кусками)
в-третьих, можешь попробовать последовать совету Lews. Сформируй несколько insert'ов, затем отправь их. И послушай Фаната, убери все-все индексы. Если все сделаешь правильно, должно успевать, файл не такой большой..
 

Asar

Новичок
Ошибки есть. И много. Но я не могу на данный момент от них избавиться (программер должен переделать экспорт из своей проги для меня, сейчас в процессе, но пока не сделал). Если тормоза действительно могут быть из-за этого -- придется подождать программера, значит... Спасиб за подсказ.
Насчет перезагрузки -- хм, не пробовал. Наверное, и правда лучше, чем файл бить.
Касаемо инсертов -- ищу инфу, пока не обнаружил.
Касаемо индексов -- давно убрал уже и написал об этом на форуме.
 

Lews

Новичок
Автор оригинала: Asar
2Lews
Несмотря на пример, до меня не дошло каким образом и зачем вставлять сразу 100 инсертов. Можно чуть поподробнее?
Спасибо.
PHP:
Информацию можно взять на mysql.com

Тест:
$query = "INSERT INTO `test` ( `t1` , `t2` , `t3` , `t4` , `t5` , `t6` , `t7` , `t8` , `t9` , `t10` , `t11` , `t12` ) 
VALUES (
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'
)";
$begin = microtime(true);
for($i=0;$i<15000;$i++){
  mysql_query($query);
}
echo microtime(true) - $begin;

echo '<br>';

$begin = microtime(true);
for($i=0;$i<30;$i++){
  $query = 'INSERT INTO `test` ( `t1` , `t2` , `t3` , `t4` , `t5` , `t6` , `t7` , `t8` , `t9` , `t10` , `t11` , `t12` ) 
    VALUES ';
  for($j=0;$j<500;$j++)
    $query .= "( '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'),";
  mysql_query(substr($query,0,-1));
}
echo microtime(true) - $begin;
Вывод:
3.7236829
0.59010291

пример запроса
PHP:
"INSERT INTO `table` (field1,field2,field3) VALUES
  (1,2,3),(4,5,6),(7,8,9)"
Данный запрос аналогичен трем
PHP:
"INSERT INTO `table` (field1,field2,field3) VALUES
  (1,2,3)";
"INSERT INTO `table` (field1,field2,field3) VALUES
  (4,5,6)";
"INSERT INTO `table` (field1,field2,field3) VALUES
  (7,8,9)";
Разница в том, что Вы отправите серверу не 15000 запросов, а всего 30 (если сразу по 500, дальше увеличивать число бессмысленно, прироста не будет)
 
Сверху