Общие > Базы данных
Заливка большого объема данных
kosm:
Ребят, подскажите как быть с обновлением (заливкой) большого объема информации в БД на удаленный сервер?
Т.е. есть некая база с относительно большим числом записей (порядка 10000-15000). У нее web-интерфейс, короче все как положено.
Необходимо апдейтить ~2000-3000 записей (каждый день). Апдейтить необходио не все, а только изменившиеся записи (изменения только по одному полю).
Какие могуть быть варианты?
1.Попытаться залить все 2000 записей в csv и попробовать их разобрать и вставить на стороне сервера? Но такой скрипт будет выполняться очень долго :( Не прокатит.
2.Иметь локальную версию БД, сверяться с нет, и апдейтить только изменившиеся (это уже порядка 100, а то и меньше). В принципе это для меня пока единственный выход. Реализовывать пока не пытаюсь, может вы чего еще подскажите? Очень надеюсь...
PS: Доступак удаленной БД нет, но если он (доступ) спасет, то впринципе можно попробовать его организовать. Просто как это скажется на скорости тоже пока понятия не имею.
СПАСИБО!
3.Подумался еще один вариант. Заливка CSV данных на удаленный сервер (по FTP) и разбор скриптом уже локально.
Alexandr:
--- Цитировать ---kosm:
с относительно большим числом записей (порядка 10000-15000)
--- Конец цитаты ---
Это очень не большое число записей....
Всё должно летать.
Alexandr:
Делай по первому варианту:
1) LOAD DATA .... INTO TABLE tbl_for_up
на 2000-3000 записей не больше 0.5 секунд
далее
2) UPDATE tbl, tbl_for_up SET tbl.some_field=tbl_for_up.some_field WHERE tbl.id=tbl_for_up.id
где tbl.id, tbl_for_up.id примари или уникуе кеи
ещё в худшем случае около секунды
....
так что за скорость не переживай.
kosm:
Очень хочется надеяться, что ничего придумывать особо не придеться. Дело может в том, что у меня в одной записи много данных. Хотя может опять не много :)
Объемы CSV примерно такие: 500записей - 1мб. Т.е. у меня даже файл залить не получится.
Ерунда еще вот в чем. У меня в CSV данные которые в БД лежат в разных таблицах, поэтому через LOAD я напрямую не залью. Или ты предлагаешь потом tbl_for_up разобрать по своему усмотрению?
Alexandr:
--- Цитировать ---kosm:
Т.е. у меня даже файл залить не получится.
--- Конец цитаты ---
зипуй
--- Цитировать ---kosm:
ты предлагаешь потом tbl_for_up разобрать по своему усмотрению?
--- Конец цитаты ---
Ес-но.
Навигация
Перейти к полной версии