• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

MySQL. Медленный запрос Brainy Filters (Opencart)

Форумы MySQL Медленный запрос Brainy Filters (Opencart)
emissar23
13.05.2016
хостинг: есть
домен: есть
Медленный запрос Brainy Filters (Opencart)
Доброго времени суток!
Появился 1 медленный запрос после включения опции атрибуты в фильтре Brainy Filters на базе Opencart 2.1.0.2. Сделал SQL запрос EXPLAIN оставил в прикрепленных. Подскажите какой нужно прописать индекс на примере ALTER TABLE какя здесь таблица ADD INDEX и куда его прописывать , на примере этого кода?

Медленный запрос:
SELECT a.attribute_group_id AS group_id, av.attribute_id AS attr_id, av.attribute_value_id AS val_id, agd.name AS group_name, ad.name AS attr_name, av.sort_order AS val_sort, av.value FROM `oc_bf_product_attribute_value` AS af INNER JOIN ( SELECT p.* FROM `oc_product` AS p INNER JOIN `oc_product_to_category` AS p2c ON (p.product_id = p2c.product_id) INNER JOIN `oc_category_path` AS cp ON (cp.category_id = p2c.category_id) WHERE cp.path_id = '59') AS p ON (af.product_id = p.product_id) INNER JOIN `oc_bf_attribute_value` AS av ON (af.attribute_value_id = av.attribute_value_id) INNER JOIN `oc_attribute` AS a ON (a.attribute_id = av.attribute_id) INNER JOIN `oc_attribute_description` AS ad ON (ad.attribute_id = a.attribute_id) INNER JOIN `oc_attribute_group` AS ag ON (ag.attribute_group_id = a.attribute_group_id) INNER JOIN `oc_attribute_group_description` AS agd ON (agd.attribute_group_id = a.attribute_group_id) INNER JOIN `oc_product_to_store` AS ps ON (p.product_id = ps.product_id) WHERE agd.language_id = '1' AND ad.language_id = '1' AND av.language_id = '1' AND ps.store_id = '0' AND p.STATUS = 1 GROUP BY av.attribute_value_id ORDER BY ag.sort_order, ag.attribute_group_id, a.sort_order, ad.name, av.sort_order, av.value
Прикрепленные файлы:
Илья
14.05.2016
хостинг: есть
домен: есть
Судя по запросу можно сделать вывод, что модуль нужно удалить. Я многое видел и много SQL запросов критиковал, но для того, что б в INNER JOIN втулить вложенный SELECT нужно быть говнокодером с большой буквы. IMHO тут индексы не помогут, нужно переписывать запрос.
emissar23
14.05.2016
хостинг: есть
домен: есть
1
Скажите, как зарубежному разработчику правильно указать(что написать) на причину?
Илья
14.05.2016
хостинг: есть
домен: есть
1
Could you please optimize this query: [текст SQL запроса]. It would be perfect if you will not use subqueries in INNER JOIN construction.
emissar23
14.05.2016
хостинг: есть
домен: есть
Спасибо!
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Горячая линия
(044)
392 74 33
другие города