Jump to content
Sign in to follow this  
rolling

Тормозит подсчет кол-ва товара в категориях

Recommended Posts

Добрый день!

В последнее время сайт стал заметно подтормаживать. На сайте сбоку висит модуль отражающий список корневых категорий и количество товаров в них (из подкатегорий тоже).

Выяснил, что при загрузке страницы БД получает более 500 запросов вида

SELECT COUNT(DISTINCT p.product_id) AS total
FROM product p
LEFT JOIN product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_to_category p2c ON (p.product_id = p2c.product_id)
WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND (p2c.category_id = '410')
или еще более развлетвленные.

Выяснил, что эти цифры выдает функция getTotalProducts() в файле /catalog/model/catalog/product.php И если закоментить текст функции - сайт сразу оживает.

Подскажите, может кто-то уже стыкался с такой проблемой? Может есть более удачные методы подсчета кол-ва товара в категориях?

Буду очень признателен за любую помощь.

Share this post


Link to post
Share on other sites

Добрый день!

В последнее время сайт стал заметно подтормаживать. На сайте сбоку висит модуль отражающий список корневых категорий и количество товаров в них (из подкатегорий тоже).

Выяснил, что при загрузке страницы БД получает более 500 запросов вида

SELECT COUNT(DISTINCT p.product_id) AS total
FROM product p
LEFT JOIN product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN product_to_category p2c ON (p.product_id = p2c.product_id)
WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND (p2c.category_id = '410')
или еще более развлетвленные.

Выяснил, что эти цифры выдает функция getTotalProducts() в файле /catalog/model/catalog/product.php И если закоментить текст функции - сайт сразу оживает.

Подскажите, может кто-то уже стыкался с такой проблемой? Может есть более удачные методы подсчета кол-ва товара в категориях?

Буду очень признателен за любую помощь.

Можно доработать движок так, чтобы дерево категорий генерировалось при редактировании категорий и при добавлении товаров. А во фронте грузить уже готовый HTML код. Тогда все будет летать. Но переделок понадобится много.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By legioner26
      399.00 руб
      Скачать/Купить дополнение


      Многофункциональный модуль меню Категорий
      Разработан многофункциональный модификатор меню категорий товаров, который позволяет прям из админ панели решать массу задач без участия программиста. Очень простая и легкая установка.
      Так же внедрена мобильная версия модуля.
      Модификатор создан для изменения и добавления функционала в стандартный модуль категорий всех версий веток ОС начиная от 2.0 и заканчивая 3.0
      Обновление модификатора до версии ОС 3.0
      ПРИМЕЧАНИЕ !!!
      Для корректной установки и работы модификатора настоятельно рекомендую проверить были ли изменены файлы стандартного модуля категорий, 
      либо удостовериться что нет сторонних модификаторов которые бы меняли функционал.
      В случае если файлы изменены, можете добавить к ним префикс к примеру (category_1.tpl) и залить файлы из коробки ОС. 
       
       
      АКЦИЯ ДО КОНЦА ИЮЛЯ !!!
       
      Установка:
      1. Папку Admin закинуть на хостинг в корень сайта 
      2. Устанавливаете модификатор согласно вашей версии ОС через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
      ИНСТРУКЦИЯ во вложении
      DEMO Логин: demo Пароль: demo
      https://siacosmetics.ru/lico1/dlya-lica/krem-dlya-lica  - С вертикальным выпадом
      https://teplomir77.ru - С горизонтальным выпадом
       
      https://opencartforum.com/profile/723002-legioner26/?tab=field_core_pfield_13 ->> Собственный программный модуль по парсингу товаров под управлением OpenCart
      Добавил legioner26 Добавлено 12.02.2018 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика Старая цена 700 Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет  
    • By legioner26
      Разработан многофункциональный модификатор меню категорий товаров, который позволяет прям из админ панели решать массу задач без участия программиста. Очень простая и легкая установка.
      Так же внедрена мобильная версия модуля.
      Модификатор создан для изменения и добавления функционала в стандартный модуль категорий всех версий веток ОС начиная от 2.0 и заканчивая 3.0
      Обновление модификатора до версии ОС 3.0
      ПРИМЕЧАНИЕ !!!
      Для корректной установки и работы модификатора настоятельно рекомендую проверить были ли изменены файлы стандартного модуля категорий, 
      либо удостовериться что нет сторонних модификаторов которые бы меняли функционал.
      В случае если файлы изменены, можете добавить к ним префикс к примеру (category_1.tpl) и залить файлы из коробки ОС. 
       
       
      АКЦИЯ ДО КОНЦА ИЮЛЯ !!!
       
      Установка:
      1. Папку Admin закинуть на хостинг в корень сайта 
      2. Устанавливаете модификатор согласно вашей версии ОС через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
      ИНСТРУКЦИЯ во вложении
      DEMO Логин: demo Пароль: demo
      https://siacosmetics.ru/lico1/dlya-lica/krem-dlya-lica  - С вертикальным выпадом
      https://teplomir77.ru - С горизонтальным выпадом
       
      https://opencartforum.com/profile/723002-legioner26/?tab=field_core_pfield_13 ->> Собственный программный модуль по парсингу товаров под управлением OpenCart
    • By MisterUnknown
      Здравствуйте. Подскажите пожалуйста, как я могу убрать вывод подкатегорий в конкретной категории.
      Имеется страница с товарами поставщиков, и вот категории поставщиков нужно скрыть с сайта, а чтоб на остальных категориях подкатегории оставались.
      P.S Прикреплю фотографию того, как выглядят подкатегории.

    • By iDiy
      500.00 руб
      Скачать/Купить дополнение


      YUMenu (расширенный модуль меню)
      YUMenu 1.0.7 (расширенный модуль меню)
       
      Надежный и функциональный модуль расширенного произвольного меню, включает в себя витрину категорий, горизонтальное, вертикальное меню и меню для мобильных устройств.
      Модуль позволяет создавать многоуровневое меню из произвольных элементов (наименования, ссылки, изображения - произвольные) и/или из элементов каталога (категории, товары, бренды, статьи), создавая из них абсолютно любую структуру.
       
      Особенности модуля:
      неограниченный уровень вложенности меню; выборочные элементы меню (категории, производители, статьи, товары); произвольные ссылки с собственными параметрами (наименования, ссылки, классы, иконки); популярное адаптивное меню "Amazon"; три стиля вертикального меню: "Accordion", меню "Flyout" и меню "Push"; отображение меню для конкретной категории/производителя/товара; экспорт/импорт настроек модуля и структуры элементов меню; функция скрытия пустых (без товара) категорий и производителей; количество товаров категории и производителя без потери производительности; поддержка мульти-магазинов и групп пользователей; подключение произвольных макетов, стилей и скриптов; поддержка мобильных устройств; модуль оптимизирован для наилучшей производительности; модуль не заменяет системных файлов; простая установка в меню дополнений...  
      Совместимость: OpenCart, ocStore, ocShop и прочие сборки версий OC 2.1 - 3.0
      Системные требования: php 5.6, 7.2, IonCube Loader 10+
       
      Демонстрация работы модуля на примере:
      Витрины категорий, Категории, Товара, Бренда
      Админ демо (логин/пароль: demo/demo)
       
      Добавил iDiy Добавлено 29.06.2017 Категория Меню, дизайн, внешний вид Системные требования php 5.6, 7.2, IonCube Loader 10+ Сайт разработчика Старая цена Метод активации По запросу на почту Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика  
    • By iDiy
      YUMenu 1.0.7 (расширенный модуль меню)
       
      Надежный и функциональный модуль расширенного произвольного меню, включает в себя витрину категорий, горизонтальное, вертикальное меню и меню для мобильных устройств.
      Модуль позволяет создавать многоуровневое меню из произвольных элементов (наименования, ссылки, изображения - произвольные) и/или из элементов каталога (категории, товары, бренды, статьи), создавая из них абсолютно любую структуру.
       
      Особенности модуля:
      неограниченный уровень вложенности меню; выборочные элементы меню (категории, производители, статьи, товары); произвольные ссылки с собственными параметрами (наименования, ссылки, классы, иконки); популярное адаптивное меню "Amazon"; три стиля вертикального меню: "Accordion", меню "Flyout" и меню "Push"; отображение меню для конкретной категории/производителя/товара; экспорт/импорт настроек модуля и структуры элементов меню; функция скрытия пустых (без товара) категорий и производителей; количество товаров категории и производителя без потери производительности; поддержка мульти-магазинов и групп пользователей; подключение произвольных макетов, стилей и скриптов; поддержка мобильных устройств; модуль оптимизирован для наилучшей производительности; модуль не заменяет системных файлов; простая установка в меню дополнений...  
      Совместимость: OpenCart, ocStore, ocShop и прочие сборки версий OC 2.1 - 3.0
      Системные требования: php 5.6, 7.2, IonCube Loader 10+
       
      Демонстрация работы модуля на примере:
      Витрины категорий, Категории, Товара, Бренда
      Админ демо (логин/пароль: demo/demo)
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.