|
|
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Приветствую форумчане. Существуют две таблицы `net` и `dellagent` в одной 160 тыс. записей во второй 50 тыс. Структура обеих Цель обновить (UPDATE) в `net` поле chain удалив найденные в нем `dellagent`.`contract` Использую запрос вида: Код: plsql 1. 2. 3. 4. 5. 6. Выполняется на локальной машине уже 45 мин!!!! Просто недопустимо для удаленного сервера, завесит весь ресурс. Хотя запрос вида: Код: plsql 1. 2. 3. 4. 5. 6. 7. Занимает всего 2 мин. Подскажите как победить такой тормоз! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 10:44:53 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Попробуй: 1) Код: sql 1. заменить на Код: sql 1. 2) В Update использовать не таблицу dellagent, а подзапрос Код: sql 1. 3) Что там вообще с индексами? походу их тупо нет... Итог: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 10:57:39 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Akina, Спасибо мысль отличная уже пробую. С индексами там все по Фэн-Шую единственное уникальное поле `contract` проиндексировано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 11:13:27 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
hedgehogelezС индексами там все по Фэн-Шую единственное уникальное поле `contract` проиндексировано. Индексы таблицы dellagent меня совершенно не колышат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 11:15:44 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Akina, А если не секрет какой должен колыхать? В выражениях с LIKE %...% MYSQL не использует индексы. Для chain не имеет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 11:25:42 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Akina, Запрос выполнен успешно, затронуто записей: 13572 (01:44:25) Ровно на час дольше первого варианта! Похоже LIKE безнадежен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 13:39:28 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Ну да, а соответствие между текстом запроса и временем выполнения нам предлагается установить самостоятельно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 13:45:36 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
hedgehogelezПриветствую форумчане. Существуют две таблицы `net` и `dellagent` в одной 160 тыс. записей во второй 50 тыс. Структура обеих Цель обновить (UPDATE) в `net` поле chain удалив найденные в нем `dellagent`.`contract` Использую запрос вида: Код: plsql 1. 2. 3. 4. 5. 6. Выполняется на локальной машине уже 45 мин!!!! Просто недопустимо для удаленного сервера, завесит весь ресурс. Хотя запрос вида: Код: plsql 1. 2. 3. 4. 5. 6. 7. Занимает всего 2 мин. Подскажите как победить такой тормоз! Там слово уже лишнее! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:02:06 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
160 и 50 тыс., из них 13.5 тыс. под апдейт - и на это час сорок пять? чёта неладно в вашем королевстве... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:05:03 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Akina, `net`.`chain` по типу TEXT вот тут то мне кажется и засада. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:15:08 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
час сорок пять - это блин две записи в секунду апдейтились, сам проверь... ну бред же ж!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:28:28 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
hedgehogelez`net`.`chain` по типу TEXTМмм... а на варчар никак не перелицевать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:29:21 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Хотя в любом разе это картезианка, я чёта не обратил, что там в отборе НЕравенство. Наверное, надо уходить от мультизначения в chain, нормализовать. Тогда полетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 15:31:40 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Вы на "денвере" тестируете? Он по-умолчанию тормоз, если что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 06:10:06 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Если SELECT выполняется за 2 минуты - сохраните его во временную таблицу, а затем соедините ее с обновляемой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Если будет долго выполняться, временную таблицу можно попробовать проиндексировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 08:20:15 |
|
||
|
UPDATE с LIKE %...%
|
|||
|---|---|---|---|
|
#18+
Хотя 2 иинуты тоже как-то не айс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2013, 08:23:05 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38465160&tid=1835549]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 355ms |

| 0 / 0 |
