Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ускорить запрос / 6 сообщений из 6, страница 1 из 1
27.01.2019, 13:41
    #39765463
tadeyiloda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
есть 2 таблицы
таблица 1
idname1test12test23test3
таблица 2
id category1 category21test1test332test11test33test2test22
задача - в таблице 2 заменить все имена категорий на ид категорий из т1
для этого каждую категорию из таблицы 2 надо создать в таблице1 (или если уже есть категория то получить ид)
счас делаю так-таблица 2 беру уникальные колонки,в цикле перебираю,получаю ид из таблица 1,если ид= 0 то делаю инсерт
затем заменяю имя категории на ид
проблема- очень медленно работает,думал будет гораздо быстрее
7000 категорий обрабатывает 15минут
...
Рейтинг: 0 / 0
27.01.2019, 13:43
    #39765464
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
tadeyiloda,

При этом вы в строковое поле пишите числа?
...
Рейтинг: 0 / 0
27.01.2019, 13:45
    #39765467
tadeyiloda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
miksoft,

да
...
Рейтинг: 0 / 0
27.01.2019, 13:48
    #39765471
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
tadeyilodamiksoft,

даНапрасно. Лучше бы сделать отдельные числовые поля.

Но вообще задача решается одни запросом без всяких циклов.
См. пример в доке:
https://dev.mysql.com/doc/refman/5.7/en/update.html UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
...
Рейтинг: 0 / 0
27.01.2019, 13:51
    #39765473
tadeyiloda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
возможно добавлю целые поля
в примере как обработать ситуацию добавления новой категории?
...
Рейтинг: 0 / 0
27.01.2019, 15:21
    #39765489
tadeyiloda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ускорить запрос
разобрался
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / ускорить запрос / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]