|
|
|
Не могу понять причину долгого выполнения запроса
|
|||
|---|---|---|---|
|
#18+
SELECT count(*) FROM `r1n2l_jshopping_products` WHERE product_id IN (SELECT product_id FROM `r1n2l_jshopping_products` WHERE product_id IN (SELECT prod.product_id FROM `r1n2l_jshopping_products` AS prod, `r1n2l_jshopping_products_to_categories` AS pr_cat WHERE pr_cat.product_id = prod.product_id AND pr_cat.category_id = '85' AND prod.product_publish = '1' AND prod.access IN (1,1) ) GROUP BY product_ean ) Такой запрос выполняется 20 секунд, хотя по отдельности части выполняются мгновенно. Я конечно понимаю, что написан криво, но движок не сильно дает возможность что-то изменить. Конечная задача - подсчитать количество групп в товаре. Группы характеризуются общим значением в поле product_ean Т.е у каждой группы свои одинаковые значения. Также это поле может принимать значение NULL и пробел. Если значение NULL или пробел, тогда каждую запись считать отдельной группой. В данном запросе последнее не реализовано. Просто не дошел до этого. Застрял на долгом выполнении имеющегося запроса. Подскажите, если не сложно. В чем грабли то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2016, 12:49 |
|
||
|
Не могу понять причину долгого выполнения запроса
|
|||
|---|---|---|---|
|
#18+
dimon71В чем грабли то.В конструкции IN (SELECT ...) если версия MySQL ниже 5.7 Или переписывайте через JOIN, или обновляйте MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2016, 13:05 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=109&tid=1832083]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 289ms |

| 0 / 0 |
