@mrantony

Как максимально быстро обновить строку в таблице по VARCHAR столбцу?

Есть БД MySQL, 75м строк. Поля id, mail1, mail2. Есть csv файл, 32м строк. Поля mail, phone. Есть сервер на xeon, 128м оперативки. Нужно в БД добавить телефоны сопоставив emal. Запрос вида UPDATE users SET phone="phone" WHERE mail1="mail" OR mail2="mail" выполняется 5 секунд. Соответственно 32м строк - 1730 дней. Нужно что-то радикально быстрее, в сотни раз.
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Ну можно начать с того что просто втянуть csv во временную таблицу и подвесить на нее нужные ключи/индексы.
Думаю после этого апдейт (точнее два) с inner join на эту временную табличку будет достаточно быстрым.
Дальше уже придется заниматься грязными хаками типа временной ампутации индексов и т.п.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы