Обалдеть, как же тупо в движке реализован модуль SEO, а точнее алиасы для категорий/товаров/производителей.
С первого взгляда кажется, что всё хорошо и быстро работает. Но прикрутив профайлер, вывел все запросы, которые выполняются на странице вложенного раздела каталога. Общее кол-во запросов - 85, после заполнения кэша - 82. Думаю, не стоит объяснять, что это очень плохо
Стал анализировать и понял, что б
ольшую часть составляют мелкие однотипные запросы вида
SELECT * FROM oc_url_alias WHERE `query` = 'category_id=6'
Такая куча запросов возникает именно после включения SEO, т.к. логика его работы следующая. Есть таблица oc_url_alias, где фиксируются все ЧПУ. Далее допустим, делается выборка категорий (пусть их будет 30) для левого меню, затем в цикле для каждой(!) категории шлется запрос, аналогичный вышеуказанному, для поиска соответствующего алиаса. Похожим образом обрабатываются и производители, и товары, и статьи. Вы только представьте, сколько будет запросов при более объемном каталоге. Жесть просто! Видно, что механизм SEO прикручивали методом костыля. Нет чтобы фиксировать алиасы в каждой таблице (для товара - в oc_product, для категий - в oc_category и т.д.), как делается в любом другом движке, но тут разработчики пошли своим путем, придумав убогий велосипед.