Общие > Базы данных
Как быстро обновить 1000 записей?
Alexandr:
--- Цитировать ---kosm:
у меня же 3.23.41
--- Конец цитаты ---
Делай так
REPLACE tbl SELECT * FROM tbl_for_up
kosm:
Alexandr , рад видеть тебя! :)
По первому варианту: не совсем понял, у тебя весь процесс занимает 5 сек или одна строчка? Если строчка, то у меня примерно тоже, т.е. долго.
Второй вариант проверил - действительно быстро. На локальной машинке загрузка во временную табличку ~0,5 сек, а у хостера ~10сек, что вполне приемлемо.
Проверить перекачку по REPLACE как ты советовал на рабочей базе не получилось, т.к. я сам себя и всех окружающих ввел в заблуждение. Проблемма в том, что одна запись из CSV файла, может несколько раз фигурировать в записях БД (это я только сейчас выяснил, когда попытался сделать это поле UNIQUE, т.к. это обязательное требование для REPLACE).
Еще какие нить мысли есть?
Alexandr:
--- Цитировать ---kosm:
По первому варианту: не совсем понял, у тебя весь процесс занимает 5 сек или одна строчка?
--- Конец цитаты ---
Процесс:
1) юзер заливает файл (название детали, цена, валюта - разделитель таб.)
2) бегу по каждой строчке чищу название детали (трим, убираю лишние символы..., и т.д.), цену, валюту
3) для каждой строчки делаю инсерт в главную таблицу
Для ~5000 записей это ВСЁ занимает 1-2 сек. (у хостера на *nix\'e)
Кстати, основная таблица ~350000 записей....
--- Цитировать ---kosm:
На локальной машинке загрузка во временную табличку ~0,5 сек, а у хостера ~10сек, что вполне приемлемо.
--- Конец цитаты ---
Ну и тормозной же хостер....
--- Цитировать ---kosm:
Проблемма в том, что одна запись из CSV файла, может несколько раз фигурировать в записях БД (это я только сейчас выяснил, когда попытался сделать это поле UNIQUE, т.к. это обязательное требование для REPLACE).
--- Конец цитаты ---
--- Цитировать ---kosm:
Есть простая табличка с полями "наименование" и "наличие", записей порядка 20000
--- Конец цитаты ---
Должна быть простая табличка с полями "id" (PRIMARY KEY), "наименование" и "наличие".
И такая табличка должна быть при любом варианте....
И CSV файл должен содержать id\'шники редактируемых строк.
kosm:
Alexandr, хочу сразу извиниться - это я лоханулся :)
Только сейчас доперло, что индекса-то у меня по этому полю нет! Создал - стало работать на лок.машинке вместо 1.5-2 минут, 3 сек :)
Так что вопрос снимается - буду обрабатывать построчно.
Спасибо!
Навигация
Перейти к полной версии