Общие > Базы данных

Как быстро обновить 1000 записей?

<< < (2/2)

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 сек :)
Так что вопрос снимается - буду обрабатывать построчно.
Спасибо!

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии