SQL запрос повесил сервер! Новый

Дополнение: miniShop2

Добрый день!
Магазин на miniShop2: категорий около 1 000, товаров 35 000. К базе выполняются запросы, которые вызывают высокую нагрузку на сервер, что приводит в блокировке аккаунта на хостинге.

Запрос выглядел следующим образом:
SELECT `product_id` FROM `ms2_product_categories` AS `msCategoryMember` WHERE `msCategoryMember`.`category_id` IN (3143,3146,3144,… и таких перечислений около 40 000

В каком месте искать проблему?
26 апреля 2017, 16:43    Иван   
0    164 0

Комментарии (6)

  1. Олег 26 апреля 2017, 16:46 # 0
    Что за запрос? вручную написанный или какой-то компонент его использует?
    1. Иван 26 апреля 2017, 16:49 # 0
      Это запрос работы компонента, видимо на стороне пользователя. Ещё стоит компонент mSearch2.
      1. Олег 26 апреля 2017, 16:52 # 0
        Похоже это происходит, например, в корне каталога — выбираются товары в нужных категориях (то есть во всех). Насколько я понимаю там их должно быть не 40 000, а 1000 — по числу категорий.
        1. Иван 26 апреля 2017, 16:55 # 0
          В каком компоненте и в каком месте искать, чтобы как-то предотвратить подобные вызовы?
          1. Олег 27 апреля 2017, 10:15 # 0
            Есть какие-то самописные сниппеты? Вообще по имеющимся данным трудно разобраться, я бы попробовал вывести лог и посмотреть разные страницы, чтобы найти место, где выполняется этот запрос.
      2. Наумов Алексей 27 апреля 2017, 11:41 # +1
        Необходимо в каких-то вызовах (msProducts, mFilter2, mSearch2) ограничить выборку, вероятнее всего параметром depth или что-то подобное.
        Вы должны авторизоваться, чтобы оставлять комментарии.