novotermua
07.07.2016 10:38
0
Вот запрос:
SELECT
            `a`.`attribute_id`,
            REPLACE(REPLACE(TRIM(pa.text), '
'
, ''), '
'
, '')AS`txt`,
            `ad`.`name`,
            `agd`.`name`AS`gname`,
            `agd`.`attribute_group_id`
         FROM
            `oc_product`AS`p`
         INNERJOIN
            `oc_product_to_store`AS`pts`
         ON
            `p`.`product_id` = `pts`.`product_id`AND`pts`.`store_id` = 0
         INNERJOIN
            `oc_product_attribute`AS`pa`
         ON
            `p`.`product_id` = `pa`.`product_id`AND`pa`.`language_id` = 1
         INNERJOIN
            `oc_attribute`AS`a`
         ON
            `a`.`attribute_id` = `pa`.`attribute_id`
         INNERJOIN
            `oc_attribute_description`AS`ad`
         ON
            `ad`.`attribute_id` = `a`.`attribute_id`AND`ad`.`language_id` = 1
         INNERJOIN
            `oc_attribute_group`AS`ag`
         ON
            `ag`.`attribute_group_id` = `a`.`attribute_group_id`
         INNERJOIN
            `oc_attribute_group_description`AS`agd`
         ON
            `agd`.`attribute_group_id` = `ag`.`attribute_group_id`AND`agd`.`language_id` = 1
 
         INNERJOIN
            `oc_product_to_category`AS`p2c`
         ON
            `p2c`.`product_id` = `p`.`product_id`
 
         INNERJOIN
            `oc_category_path`AS`cp`
         ON
            `cp`.`category_id` = `p2c`.`category_id`
 
         WHERE
            `p`.`date_available` <= NOW()AND`p`.`status` = '1'AND`cp`.`path_id` = '71'
         GROUPBY
            `txt`, `pa`.`attribute_id`
         HAVING
            `txt` != ''
         ORDERBY
            `a`.`sort_order`,
            `txt`


За последнее время ничего не устанавливали, только заливали товар. Скажите в чем может быть причина. Спасибо.
vivasoft
08.07.2016 10:59
0
Без конкретно вашей БД понять что не так крайне сложно.

dev.mysql.com/doc/refman/5.5/en/explain.html

Посмотрите сколько записей отбираются, используются ли индекс, какой индекс. На вскидку:
# Напишите секцию WHERE в обратном порядке
# Посмотрите можно ли заменить сей запрос на VIEW потому что REPLACE и TRIM в секции SELECT не кешируються

ІМХО у вас просто стало много записей вот и все :)
rudenko
09.07.2016 22:30
0
Выполните этот запрос в базу данных, но перед запросом поставьте слово EXPLAIN, таблицу с результатом опубликуйте на форуме.
Тема закрита.