
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
В 1 таблице некоторые записи нужно изменить, данными из 2 таблицы
Во 2 таблице хранятся сопоставления `старого номера` и `нового номера` Если в 1 таблице находиться `старый номер` из 2 таблицы, заменить на `новый номер` Можно это как-то сделать средствами только Mysql ? |
![]() |
|
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
|
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
UPDATEя боюсь это запускать :ph34r: |
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
Не работает что-то, думает думает ... и ничего не выдает
Может потому что таблицы большие в 1 - 118,601 записей во 2 - 1,902 записи вот структура 1 таблицы (часть правда) http://pixs.ru/showimage/1JPG_5461558_14643021.jpg вот 2 таблица http://pixs.ru/showimage/2JPG_1793664_14643035.jpg нужно поменять 211401001115 на 20190240607 помогите разобраться почему не работает, или как это сделать ? |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
Это одноразовая операция?
Не проще ли скриптом пройтись? -------------------- [продано копирайтерам]
|
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
будет 2 разовая.
Один раз сейчас , и чуть позже ещё раз , но уже с того места где закончил. Скриптом я это могу сделать, думал есть вариант попроще. |
![]() |
|||
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Должно работать... ты запускал это в PMA? так и не дождался завершения операции? Запусти запрос из скрипта может... |
||
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
вот что выдает, причем я сократил условием 1 таблицу до 2000 строк
Query execution was interrupted |
![]() |
|
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Не хватает времени все перелопатить...
А индексы стоят на полях l.tovar и c.ru? Бредовая идея конечно, но если нету индексов, то можно их добавить, запустить запрос, потом удалить, должно ускорить обновление... Можно попробовать обновлять кусками, в условие WHERE добавить id > 0 AND id <= N, после выполнения опять id > N AND id <= N+ и т.д. но тоже как-то не ахти... |
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
спасибо, завтра попробую
|
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 4155 Пользователь №: 38635 На форуме: Карма: 223 ![]() |
Поле ввести булевое, при обновлении выставлять его в true Обновлять все, для которых это поле false Запустить скрипт из консоли. Выбрать из таблиц пару сотен записей и на них отладить запрос со stackoverflow, после этого запустить запрос из консоли и пойти спать. В общем, все ресурсоемкие вещи делать в консоли. -------------------- [продано копирайтерам]
|
||
![]() |
۩
Дата
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
Индексы очень помогли - спасибо.
Затронута 55461 строка. ( Запрос занял 3.8293 сек. ) |
![]() |
|||
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Значит хорошая была идея ![]() |
||
![]() |
۩
Дата
|
||||
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 2194 Пользователь №: 28976 На форуме: Карма: 152 ![]() |
в продолжении темы. как изменить имеющийся запрос UPDATEчто бы не было дубликатов, и сумму соединить
Рузультат такой вот
или лучше в 2 приема сделать ? |
||||
![]() |
![]() ![]() ![]() |