1 / 1 / 1
Регистрация: 11.12.2012
Сообщений: 149
|
|
1 | |
Обновление больших объёмов данных(150к полей)07.11.2013, 20:54. Показов 1098. Ответов 1
Метки нет Все метки)
(
Доброго всем времени суток. Встала задача обновления больших объёмов данных - парсинг большого xls-файла и записи данных в MySQL. Подскажите, пожалуйста, как правильней это сделать. Мне в голову приходит только начать транзакцию, удалить все данные и сделать огромный insert, но я нутром чую что это бред. Ах, да! И желательно знать какой сервер для этого нужен(память и т.п.). Огромное спасибо!!!
0
|
|
07.11.2013, 20:54 | |
Ответы с готовыми решениями:
1
Выбор БД для больших объёмов данных Обработка больших объёмов данных Алгоритмы сортировки больших объёмов данных Как быстро обрабатывать текст из файлов больших объёмов |
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
|
||||||
08.11.2013, 03:45 | 2 | |||||
Extalionez, если выставить max_allowed_packet в настройках мускуля побольше, то можно хоть все 150к Insert-ов в 1 запрос упихнуть.
Вообще - делается так. Создаётся временная таблица (если основная в это время должна быть доступна, если пофиг - можно прям туда втыкать). Делается несложный скрипт, читающий записи (я с .csv сталкивался, н xls отличается только форматом). На каждые 1-10к считанных записей (подбирается экспериментально) собирается 1 Insert и вставляет данные в Temp-табличку. Таким образм может от пары сек до минуты работать (зависит от железа). Когда таблица заполнится, выполняется 1 запрос:
По железу: важны память и проц. Если задача одноразовая - на любом подручном. Если частая и на боевом сервере - можно впереться в память и уйти в своп с временной таблицей, возможно, стоит её делать НЕ TEMPORARY (если это vps с 256 ОЗУ).
1
|
08.11.2013, 03:45 | |
Помогаю со студенческими работами здесь
2
Какой массив использовать для хранения больших объёмов информации? Формула построчного выбора данных и обновление полей Обновление данных из Oracle для набора полей После ввода данных в форму предусмотреть обновление полей в таблице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |