PHP |
if (isset($_FILES['zomm'])) { $add_baza = $_FILES['zomm']['tmp_name']; if (!$handle = fopen("$add_baza", "r")) {
exit('немогу найти файл = короче косяк с файлом'); };
while (($data = fgetcsv($handle, 10000, "~")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) { $data[$c] = strtr($data[$c], "'", "\'"); }; $sql = "INSERT INTO romts (`id`, `id_nnn`, `vlid_nnn`, `vil_nam`, `prov`, `dzet`, `ks`, `vs`) VALUES ('', '$szz', '$data[0]','$data[1]', '$data[2]', '$data[3]', '$data[4]', '')";
mysql_query($sql) or die("Could not connect aaaaaaaaaaa : " . mysql_error()); }; |
файлик на 124000 строк добавляется 100 - 110 секунд
это долговато чето причем наблюдаю
по мускулу что само добавление происходит где 15 секунд а остальное скрипт где то висит
я так думаю когда через веб формочку файлик кидаешь он загружает его во временную директорию и потом построчно долго к нему обращается считывает его
какие существуют способы оптимизации этого дела
может как то можно забросит файлик в оперативку
не знаю сможет ли это
phpнадеюсь на помощь
Спустя 50 минут, 22 секунды (18.08.2009 - 15:22) sergeiss написал(а):
Если ты хочешь "залить" файл в БД, и файл совершенно четко структурирован, то используй не то, что ты сделал, а конструкцию из MySQL "LOAD DATA INFILE..."
Синтаксис см. в мануале.
Эта штуковина как раз для такой цели и сделана. Чтобы очень быстро залить большие объемы данных.
Спустя 44 минуты (18.08.2009 - 16:06) mefistofel написал(а):
класс спасибо за подсказку я знал об этой всчи
но почему то был убежден что ее нельзя использовать в
php ( где то вычитал )
вот так всяким источникам верить
еще раз спасибо 29 сек добавляет 130000
ЗАЧЁТ
Спустя 7 минут, 28 секунд (18.08.2009 - 16:14) sergeiss написал(а):
Цитата (mefistofel @ 18.08.2009 - 17:06) |
но почему то был убежден что ее нельзя использовать в php ( где то вычитал ) |
Если подходить совсем строго, то ты ее и не в ПХП используешь, а в MySQL
Через ПХП ты просто вызываешь запрос.
Спустя 6 минут, 38 секунд (18.08.2009 - 16:20) PandoraBox2007 написал(а):
да через Мускуль самый большой приоритет и скорость обработки демоном чем пропускать через интерпретатор пхп и только потом по немногу получать данные и отправлять в БД
_____________