Цену указывайте, но к товару делайте акцию, - бесплатная доставка, или акция за регистрацию.
Или - за 1001 первый просмотр(покупку)
Стандартная проблема опенкарта - подсчет количества товара в категориях
Эта проблема хорошо решена в ocStore, но не решена в оригинале, и не решается (не учитывается) некоторыми разработчиками
Причем здесь НЧ запросы к ЦА
Есть ЦА - есть запрос, нет ЦА - нет запросов.
Чтобы были нужны запросы, нужно сформировать ЦА
Не бояться нецелевого трафика, возможно продвижение околоцелевого контента.
Условно, толко чтоб посмотреть - 1 час
Если есть действительно сложные случаи, то от 2-х часов
Можно пару запросов (подзапросов выбросить)
Можно заменить NOW - даст ли это прост сложно сказать.
Можно кещирвать сами модули (время кеширвания 1 час, но это позволит снизить нагрузку, тем более что даже html контент можно кешировать
Можно использовать различные турбокешеры - но получить кучу других проблем..
Ну.. адрес кто может - можно получить в личке :)
ага при наличии NOW какой кеширование?
Составной индекс полностью участвует в запросе..
ну... на словах объяснять не хочу, смотрите header.php
Как вариант проверить скорость на дефолтном шаблоне.
Есть индексы, в том числе и составные product_id + language_id из коробки
А те запросы которые медленные - нужно понимать их частоту вызова!---------- Добавлено 25.06.2016 в 17:50 ----------
Я уже говорил про меню..
Вывели састомное меню, а вконтроллере не отключили формирование дефолтного..
Которое тянет за собой "рекурсию"
Та какие там последние изменения?
При обыкновенном росте числа категорий, и товаров - возможны проблемы.
А сайт со своей спецификой..
И производители, и рисунок, и коллекция и ... еще не знаю что..
Поэтому к нему нужно подходить индивиидуально
В логах показаны меделенные запросы, а ведь могут быть и с десяток, быстрых..., которые совсем не нужны.
а ничего :)
С этим точно вы ничего не сделаете, я дал вам ссылку на библиотеку, которая позволит построить аналитику медленных запросов, вплоть до точку вызова модели
И соответственно найти тонкие места
потому что понять частоту такого селекта и место вызова по этому логу не возможно
SELECT COUNT(*) AS total FROM `oc_order_product` op LEFT JOIN `oc_order` o ON (op.order_id = o.order_id) WHERE o.order_status_id > '0' AND op.product_id = '1394';
Как часто вызывается, вызывается ли подобный запрос в цикле, или одноразово
Возможно нужно добавить индекс про op.product_id