|
ускорить запрос
|
|||
---|---|---|---|
#18+
есть 2 таблицы таблица 1 idname1test12test23test3 таблица 2 id category1 category21test1test332test11test33test2test22 задача - в таблице 2 заменить все имена категорий на ид категорий из т1 для этого каждую категорию из таблицы 2 надо создать в таблице1 (или если уже есть категория то получить ид) счас делаю так-таблица 2 беру уникальные колонки,в цикле перебираю,получаю ид из таблица 1,если ид= 0 то делаю инсерт затем заменяю имя категории на ид проблема- очень медленно работает,думал будет гораздо быстрее 7000 категорий обрабатывает 15минут ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 13:41 |
|
ускорить запрос
|
|||
---|---|---|---|
#18+
tadeyiloda, При этом вы в строковое поле пишите числа? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 13:43 |
|
ускорить запрос
|
|||
---|---|---|---|
#18+
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; ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 13:48 |
|
ускорить запрос
|
|||
---|---|---|---|
#18+
возможно добавлю целые поля в примере как обработать ситуацию добавления новой категории? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2019, 13:51 |
|
|
start [/forum/topic.php?fid=47&fpage=41&tid=1829351]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 431ms |
0 / 0 |