Доброе время суток.
Есть задача отпарсить TXT и обновить данные в таблице используя результат парсинга.
Первая подзадача решается без проблем, а вот вторая задача решается, но решение не совсем корректное на мой взгляд.
TXT:
001-03-0027,4000.50,5<br/>
001-03-0031,8000.50,6<br/>
001-03-0028,12000.50,7<br/>
001-03-0033,16000.50,8<br/>
...<br/>
Таблица:
CREATE TABLE properties(<br/>
...<br/>
id_1c VARCHAR(255) DEFAULT NULL,<br/>
price FLOAT DEFAULT 0,<br/>
count INT(11) DEFAULT 0,<br/>
)<br/>
Обрабатывая файл построчно я получаю 3 переменные $array['id_1c'], $array['price'], $array['count']. Которые запихиваю в запрос:
<br/>
'UPDATE properties SET price='.$array['price'].', count='.$array['count'].' WHERE id_1c = '.$array['id_1c'];<br/>
В итоге получаю количество запросов прямо пропорциональное количеству строк в файле, а их там 5000 шт.
Возможно ли как то оптимизировать данный процесс?
С учетом того, что требуется проводить мониторинг успешности обновления данных:
ID 001-03-0027: обновлен успешно<br/>
ID 001-03-0031: не найден в базе<br/>
ID 001-03-002: не найден в базе<br/>
ID 001-03-0033: обновлен успешно<br/>
Спасибо.